# Notebook from rfgong/employment
Path: LDA_replication/tech_extraction.ipynb

import csv
import pandas as pd
import random
import numpy as np
import matplotlib.pyplot as plt

skillset_data = pd.read_csv('skillset_data.csv')
skillset_data = skillset_data.drop(['Unnamed: 0'], 1)_____no_output_____skillset_data.head()_____no_output_____company_names = ['Google', 'Facebook', 'Amazon', 'Netflix', 'Microsoft', 'Apple']_____no_output_____

## Beginning to read the Bay Area Data_____no_output_____

#Start loading the Bay Area Data
fileloc = 'selected_companies.csv'
selected = pd.read_csv(fileloc)/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/IPython/core/interactiveshell.py:3020: DtypeWarning: Columns (4) have mixed types. Specify dtype option on import or set low_memory=False.
  interactivity=interactivity, compiler=compiler, result=result)
#Data from the selected companies from a selected time period
selected_____no_output_____#Get row data based on a specific year and company name.
def get_year_data(year, company):
    role = pd.DataFrame(columns = ['Normalized role'])
    for index, row in selected.iterrows():
        if row['Company name'] == company:
            if year >= row['Start year'] and (year <= row['End year'] or row['End year'] == 0):
                role = role.append({'Normalized role': row['Normalized role']}, ignore_index=True)
    return role_____no_output_____

### Here we reprocess the annotated skillset data_____no_output_____

annotated = pd.read_csv('anno_skills_top_1000.csv')
annotated = annotated.drop(['Unnamed: 0'], 1)_____no_output_____annotated.head()_____no_output_____#Get a matching
#TODO: Solve tokenization problem: e.g. machine learning cannot be searched
def get_matches(company = 'Google', year = 2017):
    matches = pd.DataFrame()
    job_data = get_year_data(year, company)
    for index, row in annotated.iterrows():
        temp = job_data[job_data['Normalized role'].map(lambda x: row['Skills'] in str(x).split())]
        temp['Skills'] = row['Skills']
        matches = matches.append(temp)
    return matches_____no_output_____#Saves requested data locally for later use
def save_data(comp = 'Google', start = 2008, end = 2018):
    for i in range(start, end + 1):
        temp = get_matches(company = comp, year = i)
        temp.to_csv('{}_{}_{}/{}_{}.csv'.format(comp, start, end, comp, i))
    return_____no_output_____#Saving all data locally
#Uncomment this method in the first run
#for i in company_names:
#        save_data(comp = i, start = 2008, end = 2018)_____no_output_____#MAIN METHOD
def search_and_plot(keyword = 'android', comp = 'Google'):
    temp = pd.DataFrame()
    skilllist = pd.DataFrame()
    years = []
    for i in range(2008, 2019):
        read = pd.read_csv('{}_2008_2018/{}_{}.csv'.format(comp, comp, i))
        df = pd.DataFrame(read['Skills'].value_counts().rename_axis('skills').reset_index(name='counts'))
        skilllist = skilllist.append(df)
        if df.loc[df['skills'] == keyword].size == 0:
            continue
        else:
            temp = temp.append(df.loc[df['skills'] == keyword])
            years.append(i)
    temp['year'] = years
    temp = temp.set_index('year')
    if temp.empty:
        print('The requested keyword cannot be found in job titles from %s data!' % comp)
        print('Please search from this list: ')
        print(skilllist.skills.unique())
        return
    else:
        temp.plot()
    return temp_____no_output_____

# Main function: search_and_plot()
### The function returns the skill frequency table from a company and a diagram.
#### Parameters:

- comp: the company requested, from the list \['Google', 'Facebook', 'Amazon', 'Netflix', 'Microsoft', 'Apple'\]
    - default: 'Google'
- keyword: the skill/technology requested, from the dataframe 'annotated'
    - default: 'android'_____no_output_____

#Example 1: default value
search_and_plot()_____no_output_____#Example 2: Facebook's usage of ip-related technologies
search_and_plot(comp = 'Facebook', keyword = 'ip')_____no_output_____#Example 3: Netflix's usage of android
search_and_plot(comp = 'Netflix', keyword = 'android')_____no_output_____#Example 4: Apple's usage of unix
search_and_plot(comp = 'Apple', keyword = 'unix')_____no_output_____#Example 5: Microsoft's usage of ios
search_and_plot(comp = 'Microsoft', keyword = 'ios')The requested keyword cannot be found in job titles from Microsoft data!
Please search from this list:
['windows' 'research' 'sql' 'hardware' 'analytics' 'infrastructure'
 'powerpoint' 'testing' 'architecture' 'programming' 'crm' '.net'
 'virtualization' 'mac' 'access' 'outlook' 'networking' 'erp' 'excel'
 'automation' 'music' 'saas' 'sap' 'cad' 'seo' 'electronics' 'servers'
 'r&d' 'editorial' 'scrum' 'unix' 'wireless' 'r' 'algorithms' 'css'
 'visio' 'flash' 'linux' 'graphics' 'oracle' 'java' 'c#' 'ip' 'laboratory'
 'sem' 'c' 'pmp' 'android' 'animation' 'e-commerce' 'hris' 'word'
 'broadcast' 'invoicing' 'html' 'databases' 'trading' 'facebook' 'c++'
 'automotive' 'statistics' 'sdlc' 'git' 'gis' 'ccna' 'transportation'
 'instrumentation']
#Example 6: Microsoft's usage of windows
search_and_plot(comp = 'Microsoft', keyword = 'windows')_____no_output_____

# Main function 2: plot_pie()
### The function returns the a pie chart from a company every year.
#### It also saves the pie charts locally to ~/image folder
#### Parameters:

- comp: the company requested, from the list \['Google', 'Facebook', 'Amazon', 'Netflix', 'Microsoft', 'Apple'\]
    - default: 'Google'
- top: the number of top skills/technologies requested
    - default: 10_____no_output_____

def plot_pie(comp = 'Google', top = 10):
    temp = pd.DataFrame()
    for i in range(2008, 2019):
        read = pd.read_csv('{}_2008_2018/{}_{}.csv'.format(comp, comp, i))
        df = pd.DataFrame(read['Skills'].value_counts().rename_axis('skills %d' % i).reset_index(name='counts%d' % i))
        temp = pd.concat([temp, df[:top]], axis = 1)
    #Optional: save the skillist file locally
    #temp.to_csv('top_%d_skills.csv' % top)
    for i in range(2008, 2019):
        plt.figure(figsize=(20,15))
        ax1 = plt.subplot(221, aspect='equal')
        temp.plot(kind='pie', y = 'counts%d' % i, ax=ax1, autopct='%1.1f%%',
                 startangle=90, shadow=False, labels=temp['skills %d' % i], legend = False, fontsize=14)
        plt.savefig('images/{}_{}_top_{}.png'.format(comp, i, top))
    return_____no_output_____plot_pie(comp = 'Netflix')_____no_output_____

# Main function 3: plot_time_series()
### The function returns the plot about the evolution of top skills from a company
#### Parameters:

- company: the company requested, from the list \['Google', 'Facebook', 'Amazon', 'Netflix', 'Microsoft', 'Apple'\]
    - default: 'Google'
- top: the number of top skills/technologies requested
    - default: 20_____no_output_____

#Helper function 1: returns the top skill list from a company
def return_skillist(comp = 'Google', top = 20):
    temp = pd.DataFrame()
    skilllist = pd.DataFrame()
    years = []
    for i in range(2008, 2019):
        read = pd.read_csv('{}_2008_2018/{}_{}.csv'.format(comp, comp, i))
        df = pd.DataFrame(read['Skills'].value_counts().rename_axis('skills').reset_index(name='counts'))
        skilllist = skilllist.append(df)
        rtn = skilllist.skills.unique()
    return rtn[:top]

#Helper function 2: returns the data from each skill
def plot_helper(keyword = 'android', comp = 'Google'):
    temp = pd.DataFrame()
    years = []
    for i in range(2008, 2019):
        read = pd.read_csv('{}_2008_2018/{}_{}.csv'.format(comp, comp, i))
        df = pd.DataFrame(read['Skills'].value_counts().rename_axis('skills').reset_index(name='%s' % keyword))
        if df.loc[df['skills'] == keyword].size == 0:
            continue
        else:
            temp = temp.append(df.loc[df['skills'] == keyword])
            years.append(i)
    temp['year'] = years
    temp = temp.set_index('year')
    return temp

#Main function: plot the evolution of top skills from a certain company
def plot_time_series(company = 'Google', num = 20):
    temp = pd.DataFrame()
    skilllist = return_skillist(comp = company, top = num)
    for skill in skilllist:
        #temp = temp.append(plot_helper(comp = company, keyword = skill))
        temp = pd.concat([temp, plot_helper(comp = company, keyword = skill)], axis = 1)
    return temp.plot()_____no_output_____#Exmaple 1: Google's top 10 skills' evolution
plot_time_series(num = 10)_____no_output_____#Exmaple 2: Facebook's top 10 skills' evolution
plot_time_series(company = 'Facebook', num = 10)_____no_output_____#Exmaple 3: Microsoft's top 10 skills' evolution
plot_time_series(company = 'Microsoft', num = 10)_____no_output_____#Exmaple 4: Apple's top 10 skills' evolution
plot_time_series(company = 'Apple', num = 10)_____no_output_____


# Notebook from gillislab/MetaNeighbor-Protocol
Path: procedure2_pretrained_reference.ipynb

# Procedure 2: Assessing cell type replicability against a pre-trained reference taxonomy

Procedure 2 demonstrates how to assess cell types of a newly annotated dataset against a reference cell type taxonomy. Here we consider the cell type taxonomy established by the Brain Initiative Cell Census Network (BICCN) in the mouse primary motor cortex. The BICCN taxonomy was defined across a compendium of datasets sampling across multiple modalities (transcriptomics and epigenomics), it constitutes one of the richest neuronal resources currently available. When matching against a reference taxonomy, we assume that the reference is of higher resolution than the query dataset, i.e. the query dataset samples the same set or a subset of cells compared to the reference.

## Pre-train a reference MetaNeighbor model (1-5 minutes)

1. Start by loading an already merged SCE object containing the BICCN dataset. The full code for generating the dataset is available on [Github](https://github.com/gillislab/MetaNeighbor-Protocol), the dataset can be downloaded directly on [FigShare](https://doi.org/10.6084/m9.figshare.13020569)._____no_output_____

library(SingleCellExperiment)

biccn_data = readRDS("full_biccn_hvg.rds")
dim(biccn_data)
colnames(colData(biccn_data))
table(biccn_data$study_id)_____no_output_____

The BICCN data contains 7 datasets totaling 482,712 cells. There are multiple sets of cell type labels depending on resolution (class, subclass, cluster) or type of labels (independent labels or labels defined from joint clustering). Note that, to reduce memory usage, we have already computed and restricted the dataset to a set of 319 highly variable genes.

2. Create pre-trained models with the `trainModel` function, which has identical parameters as the `MetaNeighborUS` function used in Protocol 1. Here, we choose to focus on two sets of cell types: subclasses from the joint clustering (medium resolution, e.g., Vip interneurons, L2/3 IT excitatory neurons), and clusters from the joint clustering (high resolution, e.g., Chandelier cells). Create and store pre-trained models at the subclass level, then at the cluster level:_____no_output_____

library(MetaNeighbor)

pretrained_model = MetaNeighbor::trainModel(
    var_genes = rownames(biccn_data), dat = biccn_data,
    study_id = biccn_data$study_id, cell_type = biccn_data$joint_subclass_label
)
write.table(pretrained_model, "pretrained_biccn_subclasses.txt")

pretrained_model = MetaNeighbor::trainModel(
    var_genes = rownames(biccn_data), dat = biccn_data,
    study_id = biccn_data$study_id, cell_type = biccn_data$joint_cluster_label
)
write.table(pretrained_model, "pretrained_biccn_clusters.txt")_____no_output_____

For simplicity of use, we store the pretrained models to file using the `write.table` function.

The remainder of the procedure is independent and can be run in a new R session.

## Compare annotations to pre-trained taxonomy (1 minute)

3. Start by loading the query dataset (Tasic 2016, neurons from mouse primary visual cortex, available in the scRNAseq package) and the pre-trained subclass and cluster taxonomies:_____no_output_____

library(scRNAseq)
tasic = TasicBrainData(ensembl = FALSE)
tasic$study_id = "tasic"
biccn_subclasses = read.table("pretrained_biccn_subclasses.txt", check.names = FALSE)
biccn_clusters = read.table("pretrained_biccn_clusters.txt", check.names = FALSE)_____no_output_____

We add a "study_id" column to the Tasic metadata, as this information will be needed later by MetaNeighbor. Note the "check.names = FALSE" argument when reading a pre-trained model, which is required to preserve the correct formatting of MetaNeighbor cell type names.

4. To run MetaNeighbor, we use the `MetaNeighborUS` function but, compared to Procedure 1, we provide a pre-trained model instead of a set of highly variable genes (which are already contained in the pre-trained model). Start by checking if Tasic cell types are consistent with the BICCN subclass resolution:_____no_output_____

library(MetaNeighbor)

aurocs = MetaNeighborUS(
  trained_model = biccn_subclasses, dat = tasic,
  study_id = tasic$study_id, cell_type = tasic$primary_type,
  fast_version = TRUE
)_____no_output_____

5. Visualize AUROCs as a rectangular heatmap, with the reference taxonomy cell types as columns and query cell types as rows:_____no_output_____

plotHeatmapPretrained(aurocs)_____no_output_____

As in Procedure 1, we start by looking for evidence of global structure in the dataset. Here we recognize 3 red blocks, which correspond to non-neurons (top left), inhibitory neurons (middle) and excitatory neurons (bottom right). The presence of sub-blocks inside the 3 global blocks suggest that cell types can be matched more finely. For example, inside the inhibitory block, we can recognize sub-blocks corresponding to CGE-derived interneurons (Vip, Sncg and Lamp5 in the BICCN taxonomy) and MGE-derived interneurons (Pvalb and Sst in the BICCN taxonomy).

6. Refine AUROCs by focusing on inhibitory neurons using the `splitTrainClusters` and `splitTestClusters` utility functions to select the relevant cell types:_____no_output_____

gabaergic_tasic = splitTestClusters(aurocs, k = 4)[[2]]
gabaergic_biccn = splitTrainClusters(aurocs[gabaergic_tasic,], k = 4)[[4]]
keep_cell = makeClusterName(tasic$study_id, tasic$primary_type) %in% gabaergic_tasic
tasic_subdata = tasic[, keep_cell]
aurocs = MetaNeighborUS(
  trained_model = biccn_subclasses[, gabaergic_biccn],
  dat = tasic_subdata, study_id = tasic_subdata$study_id,
  cell_type = tasic_subdata$primary_type, fast_version = TRUE
)
plotHeatmapPretrained(aurocs, cex = 0.7)_____no_output_____

The heatmap suggests that there is a broad agreement at the subclass level between the BICCN MOp taxonomy and the Tasic 2016 dataset. For example, the Ndnf subtypes, Igtp and Smad3 cell types from the Tasic dataset match with the BICCN Lamp5 subclass.

7. The previous heatmaps suggest that all Tasic cell types can be matched with one BICCN subclass. We now go one step further and ask whether inhibitory cell types correspond to one of the BICCN clusters. Compute and visualize cell type similarity:_____no_output_____

aurocs = MetaNeighborUS(trained_model = biccn_clusters,
                        dat = tasic_subdata,
                        study_id = tasic_subdata$study_id,
                        cell_type = tasic_subdata$primary_type,
                        fast_version = TRUE)
plotHeatmapPretrained(aurocs, cex = 0.7)_____no_output_____

Here the heatmap is difficult to interpret due to the large number of BICCN cell types (output omitted here). Instead, investigate the top hits for each query cell type directly:_____no_output_____

head(sort(aurocs["tasic|Sst Chodl",], decreasing = TRUE), 10)
head(sort(aurocs["tasic|Pvalb Cpne5",], decreasing = TRUE), 10)_____no_output_____

We note two properties of matching against a pre-trained reference. First, replicable cell types have a clear top match in each of the reference dataset. Sst Chodl (long-projecting interneurons) match to similarly named clusters in the BICCN with an AUROC > 0.9999, Pvalb Cpne5 (Chandelier cells) match with the Pvalb Vipr2_2 cluster with AUROC > 0.93. Second, we have to be beware of false positives. For example, Sst Chodl secondarily matches with the L6b Ror1 cell types with AUROC > 0.98, an excitatory cell type only distantly related with long-projecting interneurons. When we use the pre-trained model, we only compute AUROCs with the BICCN data as the reference data, so we cannot identify reciprocal hits. If we had been able to use "Tasic|Sst Chodl" as the reference cluster, its votes would have gone heavily in favor of the BICCN's Sst Chodl, making L6b Ror1 a low AUROC match on average. Because of the low dimensionality of gene expression space, we expect false positive hits to occur just by chance (e.g., cell types reusing similar pathways) when a cell type is missing in the query dataset. Here L6b Ror1 (an excitatory type) had no natural match with the Tasic inhibitory cell types and voted for its closest match, long-projecting interneurons.

There are three alternatives to separate true hits from false positive hits. First, if a cell type is highly replicable, it will have a clear top matching cluster in the reference dataset. Second, if the query dataset is known to be a particular subset of the reference dataset (e.g., inhibitory neurons, as is the case here), we recommend restricting the reference taxonomy to that subset. Third, if the first two solutions don't yield clear results or cannot be performed, it is possible to go back to reciprocal testing by using the full BICCN dataset instead of the pre-trained reference.

8. We illustrate the first solution in the case of Chandelier cells. Visualize the strength of the best hits by running the following:_____no_output_____

chandelier_hits = aurocs["tasic|Pvalb Cpne5",]
is_chandelier = getCellType(names(chandelier_hits)) == "Pvalb Vipr2_2"
hist(-log10(1-chandelier_hits[!is_chandelier]), breaks = 20,
     xlab = "Replicability (-log10(1-AUROC))",
     xlim = range(-log10(1-chandelier_hits)),
     main = "AUROC for Pvalb Cpne5 - Pvalb Vipr2_2 hits")
box(bty = "L")
abline(v = -log10(1-chandelier_hits[is_chandelier]), col = "red")_____no_output_____

To illustrate AUROC differences, we chose a logarithmic scaling to reflect that AUROC values do not scale linearly: when AUROCs are close to 1, a difference of 0.05 is substantial. Here, the best matching BICCN cluster ("Pvalb Vipr2_2") is order of magnitudes better than other clusters, suggesting very strong replicability.

9. The second solution to avoid false positive hits is to subset the reference to cell types that reflect the composition of the query datasets. Since we are looking at inhibitory neurons, restrict the BICCN taxonomy to inhibitory cell types, which names all start with "Pvalb", "Sst", "Lamp5", "Vip" or "Sncg":_____no_output_____

is_gaba = grepl("^(Pvalb|Sst|Lamp5|Vip|Sncg)", getCellType(colnames(biccn_clusters)))
biccn_gaba = biccn_clusters[, is_gaba]
aurocs = MetaNeighborUS(trained_model = biccn_gaba,
                        dat = tasic_subdata,
                        study_id = tasic_subdata$study_id,
                        cell_type = tasic_subdata$primary_type,
                        fast_version = TRUE)
head(sort(aurocs["tasic|Sst Chodl",], decreasing = TRUE), 10)
head(sort(aurocs["tasic|Pvalb Cpne5",], decreasing = TRUE), 10)_____no_output_____

Again, we note that there is a significant gap between the best hit and the secondary hit, but now secondary hits are closely related cell types (Sst subtype for Sst Chodl, secondary Chandelier cell type Pvalb Vipr2_1 for Pvalb Cpne5).

10. To obtain a more stringent mapping between the query cell types and reference cell types, compute one-vs-best AUROC, which will automatically match the best hit against the best secondary hit:_____no_output_____

best_hits = MetaNeighborUS(trained_model = biccn_gaba,
                        dat = tasic_subdata,
                        study_id = tasic_subdata$study_id,
                        cell_type = tasic_subdata$primary_type,
                        one_vs_best = TRUE,
                        fast_version = TRUE)
plotHeatmapPretrained(best_hits)_____no_output_____

Now the hit structure is much sparser, which helps identify 1:1 and 1:n hits. The heatmap suggests that most Tasic cell types match with one or several BICCN clusters. Inspect the top hits for 3 cell types from the Tasic dataset:_____no_output_____

head(sort(best_hits["tasic|Sst Chodl",], decreasing = TRUE), 10)
head(sort(best_hits["tasic|Pvalb Cpne5",], decreasing = TRUE), 10)
head(sort(best_hits["tasic|Sst Tacstd2",], decreasing = TRUE), 10)_____no_output_____

Using this more stringent assessment, we confirm that Sst Chodl strongly replicates inside the BICCN (one-vs-best AUROC ~ 1, best secondary hit = 0.41), same for Pvalb Cpne5 (one-vs-best AUROC > 0.74, best secondary hit = 0.63), while for example Sst Tacstd2 corresponds to multiple BICCN subtypes (including Sst C1ql3_1, Sst C1ql3_2, AUROC > 0.95).

Pre-training a MetaNeighbor model thus provides a rigorous, fast and simple way to query a large reference dataset and obtain quantitative estimations of the replicability of newly annotated clusters._____no_output_____

epigenomics
gene expression
transcriptomics


# Notebook from Alessine/cineman_streamlit_app
Path: notebooks/211010_cineman_scraping.ipynb

# Cineman Streamlit Project_____no_output_____## Load Dependencies_____no_output_____

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.firefox.options import Options as FirefoxOptions
import requests
from bs4 import BeautifulSoup
import numpy as np
import pandas as pd
import time
from datetime import date
import re
#import json_____no_output_____def is_time_format(input):
    try:
        time.strptime(input, '%H:%M')
        return True
    except ValueError:
        return False_____no_output_____

## Scraping Cineman Data_____no_output_____### Loading and Saving Page Contents_____no_output_____

def scrape_cineman(cities=["Zürich"]):
    """
    This function open a Selenium driver, goes to the cineman.ch Showtimes page.
    Then it scrapes the entries for a specified city.

    Optional argument:
    - cities: list of strings, specifies the cities for which showtimes will be scraped, defaults to ['Zürich']

    Returns:
    - content: html code of the page scraped with BeautifulSoup
    """
    # Open the driver and go to the page with the showtimes
    options = FirefoxOptions()
    #options.add_argument("--headless")
    driver = webdriver.Firefox(options=options)
    driver.get("https://www.cineman.ch/en/showtimes/time/")
    time.sleep(15)   # have to wait for the advertisement to end

    # Click the cookie button
    cookie_button = driver.find_element_by_class_name("cc-btn")
    cookie_button.click()
    time.sleep(2)

    # Sort the showtimes by time
    sorting_buttons = driver.find_elements_by_class_name("text-overflow-hidden")
    sorting_buttons[2].click()

    # Click the region dropdown, select the city and save
    region_dropdown = driver.find_element_by_class_name("selectize-control")
    region_dropdown.click()

    input_div = driver.find_elements_by_xpath('//input[@type="text"]')
    for city in cities:
        input_div[6].send_keys(city)
        input_div[6].send_keys(Keys.RETURN)

    save_button = driver.find_element_by_class_name("select-region-save")
    save_button.click()

    # Scrape the content and close the driver
    content = BeautifulSoup(driver.page_source, features="html.parser")
    driver.close()

    return content_____no_output_____content = scrape_cineman(cities=["Zürich"])
_____no_output_____print(content)
<meta charset="utf-8"/>
<meta content="IE=edge" http-equiv="X-UA-Compatible"/>
<title>Showtimes - By time - Cineman</title>
<meta content="Showtimes - By time; Cineman - Cineman - after the movie is before the movie. cinema programmes, movie reviews, DVD, poster, trailers, interviews, release lists, filmnews, charts, contests and much more." name="description"/>
<meta content="Cinema,Movies,Movie,Schedules,cinema,Film,DVD,poster,Trailer,Schweiz,Suisse,Switzerland,Svizzera,CH,movie screenings,movie guide,Programs,Program,seasons,Film review,review,contest,image,pic,gallery,Openair,film magazine,ticket,voucher,cinema voucher,vouchers,Aarau,Baden,Basel,Bern,Biel,Chur,Davos,Dï¿½bendorf,Frauenfeld,Fribourg,Genf,Glarus,Lausanne,Locarno,Lugano,Luzern,Olten,Payerne,Pfï¿½ffikon,Rapperswil,Sargans,Sarnen,Schaffhausen,Solothurn,St. Gallen,St. Moritz,Thun,Uster,Winterthur,Zug,Z" name="keywords"/>
<meta content="Cinergy AG" name="author"/>
<meta content="3 days" name="revisit-after"/>
<meta content="D2Xi7_fiiaTcwz6NHFML-p_o1p8z0Stn7TF-BMnShSo" name="google-site-verification"/>
<meta content="35766436701" property="fb:page_id"/>
<meta content="width=device-width, initial-scale=1" name="viewport"/>
<meta content="Cineman" name="apple-mobile-web-app-title"/>
<meta content="Cineman" name="application-name"/>
<meta content="black" name="apple-mobile-web-app-status-bar-style"/>
<meta content="yes" name="apple-mobile-web-app-capable"/>
<meta content="yes" name="mobile-web-app-capable"/>
<meta content="app-id=338813779" name="apple-itunes-app"/>
<meta content="#ffffff" name="msapplication-TileColor"/>
<meta content="/mstile-144x144.png" name="msapplication-TileImage"/>

<meta content="Showtimes - By time" property="og:title"/>
<meta content="website" property="og:type"/>
<meta content="Cineman" property="og:site_name"/>
<meta content="/bundles/cinergycineman/images/logos/logo-cineman-header-xs@2x.png" property="og:image"/>
<link href="android-app://ch.cineman/https/www.cineman.ch/en/showtimes/time/" rel="alternate"/>
<link as="font" crossorigin="" href="/fonts/fontawesome/fa-brands-400.woff2" rel="preload" type="font/woff2"/>
<link as="font" crossorigin="" href="/fonts/hind/hind-v6-latin-600.woff2" rel="preload" type="font/woff2"/>
<link as="font" crossorigin="" href="/fonts/hind/hind-v6-latin-300.woff2" rel="preload" type="font/woff2"/>
<link as="font" crossorigin="" href="/fonts/fontawesome/fa-regular-400.woff2" rel="preload" type="font/woff2"/>
<link as="font" crossorigin="" href="/fonts/hind/hind-v6-latin-regular.woff2" rel="preload" type="font/woff2"/>
<link as="font" crossorigin="" href="/fonts/fontawesome/fa-solid-900.woff2" rel="preload" type="font/woff2"/>
<link as="font" crossorigin="" href="/fonts/hind/hind-v6-latin-500.woff2" rel="preload" type="font/woff2"/>
<link href="https://media.services.cinergy.ch" rel="preconnect"/>
<link href="https://media.services.cinergy.ch" rel="dns-prefetch"/>
<link href="https://tagger.opecloud.com" rel="preconnect"/>
<link href="https://tagger.opecloud.com" rel="dns-prefetch"/>
<link href="https://gs-goldbach.da-services.ch" rel="preconnect"/>
<link href="https://gs-goldbach.da-services.ch" rel="dns-prefetch"/>
<link href="https://secure.adnxs.com" rel="preconnect"/>
<link href="https://secure.adnxs.com" rel="dns-prefetch"/>
<link href="https://ib.adnxs.com" rel="preconnect"/>
<link href="https://ib.adnxs.com" rel="dns-prefetch"/>
<link href="https://gbucket.ch" rel="preconnect"/>
<link href="https://gbucket.ch" rel="dns-prefetch"/>
<link href="https://www.google-analytics.com" rel="preconnect"/>
<link href="https://www.google-analytics.com" rel="dns-prefetch"/>
<link href="https://www.google.com" rel="preconnect"/>
<link href="https://www.google.com" rel="dns-prefetch"/>
<link href="https://www.googletagmanager.com" rel="preconnect"/>
<link href="https://www.googletagmanager.com" rel="dns-prefetch"/>
<link href="http://entitlements.jwplayer.com" rel="preconnect"/>
<link href="http://entitlements.jwplayer.com" rel="dns-prefetch"/>
<link href="http://prd.jwpltx.com" rel="preconnect"/>
<link href="http://prd.jwpltx.com" rel="dns-prefetch"/>
<link href="http://ssl.p.jwpcdn.com" rel="preconnect"/>
<link href="http://ssl.p.jwpcdn.com" rel="dns-prefetch"/>
<link href="/favicon-192x192.png" rel="icon" sizes="192x192"/>
<link href="/apple-touch-icon-180x180.png" rel="apple-touch-icon" sizes="180x180"/>
<link href="/apple-touch-icon-152x152.png" rel="apple-touch-icon" sizes="152x152"/>
<link href="/apple-touch-icon-144x144.png" rel="apple-touch-icon" sizes="144x144"/>
<link href="/apple-touch-icon-120x120.png" rel="apple-touch-icon" sizes="120x120"/>
<link href="/apple-touch-icon-114x114.png" rel="apple-touch-icon" sizes="114x114"/>
<link href="/apple-touch-icon-76x76.png" rel="apple-touch-icon" sizes="76x76"/>
<link href="/apple-touch-icon-72x72.png" rel="apple-touch-icon" sizes="72x72"/>
<link href="/apple-touch-icon-60x60.png" rel="apple-touch-icon" sizes="60x60"/>
<link href="/apple-touch-icon.png" rel="apple-touch-icon" sizes="57x57"/>
<link href="/favicon-192x192.png" rel="icon" sizes="192x192" type="image/png"/>
<link href="/favicon-160x160.png" rel="icon" sizes="160x160" type="image/png"/>
<link href="/favicon-96x96.png" rel="icon" sizes="96x96" type="image/png"/>
<link href="/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/>
<link href="/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/>
<link href="/assets_cache/f60fc493df5260d4a210fed578a19b48.css" rel="stylesheet"/>

<meta content="AxujKG9INjsZ8/gUq8+dTruNvk7RjZQ1oFhhgQbcTJKDnZfbzSTE81wvC2Hzaf3TW4avA76LTZEMdiedF1vIbA4AAABueyJvcmlnaW4iOiJodHRwczovL2ltYXNkay5nb29nbGVhcGlzLmNvbTo0NDMiLCJmZWF0dXJlIjoiVHJ1c3RUb2tlbnMiLCJleHBpcnkiOjE2NTI3NzQ0MDAsImlzVGhpcmRQYXJ0eSI6dHJ1ZX0=" http-equiv="origin-trial"/><meta content="Azuce85ORtSnWe1MZDTv68qpaW3iHyfL9YbLRy0cwcCZwVnePnOmkUJlG8HGikmOwhZU22dElCcfrfX2HhrBPAkAAAB7eyJvcmlnaW4iOiJodHRwczovL2RvdWJsZWNsaWNrLm5ldDo0NDMiLCJmZWF0dXJlIjoiVHJ1c3RUb2tlbnMiLCJleHBpcnkiOjE2NTI3NzQ0MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9" http-equiv="origin-trial"/><meta content="A16nvcdeoOAqrJcmjLRpl1I6f3McDD8EfofAYTt/P/H4/AWwB99nxiPp6kA0fXoiZav908Z8etuL16laFPUdfQsAAACBeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXRhZ3NlcnZpY2VzLmNvbTo0NDMiLCJmZWF0dXJlIjoiVHJ1c3RUb2tlbnMiLCJleHBpcnkiOjE2NTI3NzQ0MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9" http-equiv="origin-trial"/><meta content="AxBHdr0J44vFBQtZUqX9sjiqf5yWZ/OcHRcRMN3H9TH+t90V/j3ENW6C8+igBZFXMJ7G3Pr8Dd13632aLng42wgAAACBeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXN5bmRpY2F0aW9uLmNvbTo0NDMiLCJmZWF0dXJlIjoiVHJ1c3RUb2tlbnMiLCJleHBpcnkiOjE2NTI3NzQ0MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9" http-equiv="origin-trial"/><meta content="A88BWHFjcawUfKU3lIejLoryXoyjooBXLgWmGh+hNcqMK44cugvsI5YZbNarYvi3roc1fYbHA1AVbhAtuHZflgEAAAB2eyJvcmlnaW4iOiJodHRwczovL2dvb2dsZS5jb206NDQzIiwiZmVhdHVyZSI6IlRydXN0VG9rZW5zIiwiZXhwaXJ5IjoxNjUyNzc0NDAwLCJpc1N1YmRvbWFpbiI6dHJ1ZSwiaXNUaGlyZFBhcnR5Ijp0cnVlfQ==" http-equiv="origin-trial"/><meta content="A9UYqyrcBscPFqD2DJTaMQzHcnNy5uwBdxquyYRHf5U8+rYLCQFfX6rQSazDzT0MmHA5X7oDo4j9QxpZoD2tOAwAAAB4eyJvcmlnaW4iOiJodHRwczovL2ltYXNkay5nb29nbGVhcGlzLmNvbTo0NDMiLCJmZWF0dXJlIjoiUHJpdmFjeVNhbmRib3hBZHNBUElzIiwiZXhwaXJ5IjoxNjYxMjk5MTk5LCJpc1RoaXJkUGFydHkiOnRydWV9" http-equiv="origin-trial"/><link as="script" href="https://adservice.google.com/adsid/integrator.js?domain=www.cineman.ch" rel="preload"/>

We use first- and third-party cookies and tracking pixels to improve our services, display interest-based advertising and receive statistics on your visits. By continuing to use this website, you agree to their use. More information
OK

<picture>
<source media="(min-width: 768px)" srcset="/assets_cache/cbe92f520ab8d365ebcf996eb8cfeb5d.png"/>
<source srcset="/assets_cache/3d82401ccedf11386e110d7ffb3c9dc0.png"/>

</picture>

0

Loading messages...

Menu

de

fr

en

Buy tickets

0

Loading messages...

Login & Signup

<form class="dropdown-authentication-wrapper">
Facebook Login
</form>

<form action="/en/login/" class="dropdown-authentication-wrapper" method="post">

Username
<input class="form-control" id="login" name="identifier" type="text"/>

Password
<input class="form-control" id="password" name="password" type="password"/>

<input name="remember_me" type="hidden" value="1"/>

<button class="btn btn-block btn-stroke btn-red" type="submit">Login</button>
</form>

Forgot your password?

Sign up

My watchlist

Settings

My showtimes

Logout

Showtimes

Showtimes by cinema

Showtimes by movie

Showtimes by time

Film festivals

Openair movie guide

<img alt="" class="hovernav-image lazyload" data-src="https://media.services.cinergy.ch/media/cinemanteaser239x142x2/1b9689b477495eae067284d93f230d67947e7d8b.jpg" height="284" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAd4AAAEcCAQAAADDtx33AAACY0lEQVR42u3TAQkAAADCMO1f2hzCFuHwBrhUCcC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzgnkB8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAvmlQDMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLxgXgnAvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB8wLmBfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwL5pUAzAuYFzAvmBcwL2BeMC9gXsC8gHnBvIB5AfOCeQHzAuYFzAvmBcwLmBfMC5gXMC9gXng2QMcBHURzbLoAAAAASUVORK5CYII=" width="478"/>

New in the cinema

Doctor Strange in the Multiverse of Madness

<img alt="" class="hovernav-image lazyload" data-src="https://media.services.cinergy.ch/media/cinemanteaser239x142x2/973fe533df0a3917eaf74c67b3530d2158a5fe42.jpg" height="284" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAd4AAAEcCAQAAADDtx33AAACY0lEQVR42u3TAQkAAADCMO1f2hzCFuHwBrhUCcC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzgnkB8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAvmlQDMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLxgXgnAvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB8wLmBfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwL5pUAzAuYFzAvmBcwL2BeMC9gXsC8gHnBvIB5AfOCeQHzAuYFzAvmBcwLmBfMC5gXMC9gXng2QMcBHURzbLoAAAAASUVORK5CYII=" width="478"/>

Currently in the cinema

Fantastic Beasts: The Secrets of Dumbledore

<img alt="" class="hovernav-image lazyload" data-src="https://media.services.cinergy.ch/media/cinemanteaser239x142x2/4b1b74c87a83a23ae9f4e16416907a892c7b6acb.jpg" height="284" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAd4AAAEcCAQAAADDtx33AAACY0lEQVR42u3TAQkAAADCMO1f2hzCFuHwBrhUCcC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzgnkB8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAvmlQDMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLxgXgnAvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB8wLmBfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwL5pUAzAuYFzAvmBcwL2BeMC9gXsC8gHnBvIB5AfOCeQHzAuYFzAvmBcwLmBfMC5gXMC9gXng2QMcBHURzbLoAAAAASUVORK5CYII=" width="478"/>

Soon in the cinema

Planet Hora

Trailer

All trailers currently in the cinema

All trailers in the cinema soon

New trailers

Popular trailers

<img alt="" class="hovernav-image lazyload" data-src="https://media.services.cinergy.ch/media/cinemanteaser239x142x2/1b9689b477495eae067284d93f230d67947e7d8b.jpg" height="284" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAd4AAAEcCAQAAADDtx33AAACY0lEQVR42u3TAQkAAADCMO1f2hzCFuHwBrhUCcC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzgnkB8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAvmlQDMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLxgXgnAvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB8wLmBfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwL5pUAzAuYFzAvmBcwL2BeMC9gXsC8gHnBvIB5AfOCeQHzAuYFzAvmBcwLmBfMC5gXMC9gXng2QMcBHURzbLoAAAAASUVORK5CYII=" width="478"/>

Popular trailer

Doctor Strange in the Multiverse of Madness

<img alt="" class="hovernav-image lazyload" data-src="https://media.services.cinergy.ch/media/cinemanteaser239x142x2/42f3cbb91b7a473c30b85f632c11b40324eda639.jpg" height="284" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAd4AAAEcCAQAAADDtx33AAACY0lEQVR42u3TAQkAAADCMO1f2hzCFuHwBrhUCcC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzgnkB8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAvmlQDMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLxgXgnAvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB8wLmBfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwL5pUAzAuYFzAvmBcwL2BeMC9gXsC8gHnBvIB5AfOCeQHzAuYFzAvmBcwLmBfMC5gXMC9gXng2QMcBHURzbLoAAAAASUVORK5CYII=" width="478"/>

Trending trailer

The Batman

Movies

Films currently in the cinema

Films new in the cinema

Films in the cinema soon

Reviews

Movie Charts

Films on TV

<img alt="" class="hovernav-image lazyload" data-src="https://media.services.cinergy.ch/media/cinemanteaser239x142x2/7f9269b03607a2d5b7f82f26fb11d648d09a6dc7.jpg" height="284" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAd4AAAEcCAQAAADDtx33AAACY0lEQVR42u3TAQkAAADCMO1f2hzCFuHwBrhUCcC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzgnkB8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAvmlQDMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLxgXgnAvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB8wLmBfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwL5pUAzAuYFzAvmBcwL2BeMC9gXsC8gHnBvIB5AfOCeQHzAuYFzAvmBcwLmBfMC5gXMC9gXng2QMcBHURzbLoAAAAASUVORK5CYII=" width="478"/>

Rating Charts

Spider-Man: No Way Home

<img alt="" class="hovernav-image lazyload" data-src="https://media.services.cinergy.ch/media/cinemanteaser239x142x2/973fe533df0a3917eaf74c67b3530d2158a5fe42.jpg" height="284" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAd4AAAEcCAQAAADDtx33AAACY0lEQVR42u3TAQkAAADCMO1f2hzCFuHwBrhUCcC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzgnkB8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAvmlQDMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLxgXgnAvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB8wLmBfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwL5pUAzAuYFzAvmBcwL2BeMC9gXsC8gHnBvIB5AfOCeQHzAuYFzAvmBcwLmBfMC5gXMC9gXng2QMcBHURzbLoAAAAASUVORK5CYII=" width="478"/>

Watchlist Charts

Fantastic Beasts: The Secrets of Dumbledore

<img alt="" class="hovernav-image lazyload" data-src="https://media.services.cinergy.ch/media/cinemanteaser239x142x2/191a2386c36dfe1a795183d5fd41643e8880a80e.jpg" height="284" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAd4AAAEcCAQAAADDtx33AAACY0lEQVR42u3TAQkAAADCMO1f2hzCFuHwBrhUCcC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzgnkB8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAvmlQDMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLxgXgnAvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB8wLmBfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwL5pUAzAuYFzAvmBcwL2BeMC9gXsC8gHnBvIB5AfOCeQHzAuYFzAvmBcwLmBfMC5gXMC9gXng2QMcBHURzbLoAAAAASUVORK5CYII=" width="478"/>

Watchlist Charts Soon

Top Gun: Maverick

Streaming

<form action="/en/finder/" class="navbar-form" method="get" role="search">

<button class="btn btn-transparent btn-circle btn-circle-small btn-search" type="submit"></button>
<input autocomplete="off" class="form-control form-control-search tt-hint" data-finder-url="/en/finder/?q=" data-label-pages="Pages" data-remote-prefetch="/en/page/searchPrefetch.json" data-remote-source="/search.php?q=%QUERY&l=en" data-translation-search-full="Show all results" dir="ltr" readonly="" spellcheck="false" style="position: absolute; top: 0px; left: 0px; border-color: transparent; box-shadow: none; opacity: 1; background: rgb(242, 242, 235) none repeat scroll 0% 0%;" tabindex="-1" type="text"/><input autocomplete="off" class="form-control form-control-search tt-input" data-finder-url="/en/finder/?q=" data-label-pages="Pages" data-remote-prefetch="/en/page/searchPrefetch.json" data-remote-source="/search.php?q=%QUERY&l=en" data-translation-search-full="Show all results" dir="auto" id="search" name="q" placeholder="Search" spellcheck="false" style="position: relative; vertical-align: top; background-color: transparent;" type="text"/>

</form>

Showtimes

Showtimes by cinema

Showtimes by movie

Showtimes by time

Film festivals

Openair movie guide

<img alt="" class="hovernav-image lazyload" data-src="https://media.services.cinergy.ch/media/cinemanteaser239x142x2/1b9689b477495eae067284d93f230d67947e7d8b.jpg" height="284" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAd4AAAEcCAQAAADDtx33AAACY0lEQVR42u3TAQkAAADCMO1f2hzCFuHwBrhUCcC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzgnkB8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAvmlQDMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLxgXgnAvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB8wLmBfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwL5pUAzAuYFzAvmBcwL2BeMC9gXsC8gHnBvIB5AfOCeQHzAuYFzAvmBcwLmBfMC5gXMC9gXng2QMcBHURzbLoAAAAASUVORK5CYII=" width="478"/>

New in the cinema

Doctor Strange in the Multiverse of Madness

<img alt="" class="hovernav-image lazyload" data-src="https://media.services.cinergy.ch/media/cinemanteaser239x142x2/973fe533df0a3917eaf74c67b3530d2158a5fe42.jpg" height="284" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAd4AAAEcCAQAAADDtx33AAACY0lEQVR42u3TAQkAAADCMO1f2hzCFuHwBrhUCcC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzgnkB8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAvmlQDMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLxgXgnAvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB8wLmBfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwL5pUAzAuYFzAvmBcwL2BeMC9gXsC8gHnBvIB5AfOCeQHzAuYFzAvmBcwLmBfMC5gXMC9gXng2QMcBHURzbLoAAAAASUVORK5CYII=" width="478"/>

Currently in the cinema

Fantastic Beasts: The Secrets of Dumbledore

<img alt="" class="hovernav-image lazyload" data-src="https://media.services.cinergy.ch/media/cinemanteaser239x142x2/4b1b74c87a83a23ae9f4e16416907a892c7b6acb.jpg" height="284" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAd4AAAEcCAQAAADDtx33AAACY0lEQVR42u3TAQkAAADCMO1f2hzCFuHwBrhUCcC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzgnkB8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAvmlQDMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLxgXgnAvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB8wLmBfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwL5pUAzAuYFzAvmBcwL2BeMC9gXsC8gHnBvIB5AfOCeQHzAuYFzAvmBcwLmBfMC5gXMC9gXng2QMcBHURzbLoAAAAASUVORK5CYII=" width="478"/>

Soon in the cinema

Planet Hora

Trailer

All trailers currently in the cinema

All trailers in the cinema soon

New trailers

Popular trailers

<img alt="" class="hovernav-image lazyload" data-src="https://media.services.cinergy.ch/media/cinemanteaser239x142x2/1b9689b477495eae067284d93f230d67947e7d8b.jpg" height="284" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAd4AAAEcCAQAAADDtx33AAACY0lEQVR42u3TAQkAAADCMO1f2hzCFuHwBrhUCcC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzgnkB8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAvmlQDMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLxgXgnAvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB8wLmBfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwL5pUAzAuYFzAvmBcwL2BeMC9gXsC8gHnBvIB5AfOCeQHzAuYFzAvmBcwLmBfMC5gXMC9gXng2QMcBHURzbLoAAAAASUVORK5CYII=" width="478"/>

Popular trailer

Doctor Strange in the Multiverse of Madness

<img alt="" class="hovernav-image lazyload" data-src="https://media.services.cinergy.ch/media/cinemanteaser239x142x2/42f3cbb91b7a473c30b85f632c11b40324eda639.jpg" height="284" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAd4AAAEcCAQAAADDtx33AAACY0lEQVR42u3TAQkAAADCMO1f2hzCFuHwBrhUCcC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzgnkB8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAvmlQDMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLxgXgnAvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB8wLmBfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwL5pUAzAuYFzAvmBcwL2BeMC9gXsC8gHnBvIB5AfOCeQHzAuYFzAvmBcwLmBfMC5gXMC9gXng2QMcBHURzbLoAAAAASUVORK5CYII=" width="478"/>

Trending trailer

The Batman

Movies

Films currently in the cinema

Films new in the cinema

Films in the cinema soon

Reviews

Movie Charts

Films on TV

<img alt="" class="hovernav-image lazyload" data-src="https://media.services.cinergy.ch/media/cinemanteaser239x142x2/7f9269b03607a2d5b7f82f26fb11d648d09a6dc7.jpg" height="284" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAd4AAAEcCAQAAADDtx33AAACY0lEQVR42u3TAQkAAADCMO1f2hzCFuHwBrhUCcC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzgnkB8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAvmlQDMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLxgXgnAvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB8wLmBfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwL5pUAzAuYFzAvmBcwL2BeMC9gXsC8gHnBvIB5AfOCeQHzAuYFzAvmBcwLmBfMC5gXMC9gXng2QMcBHURzbLoAAAAASUVORK5CYII=" width="478"/>

Rating Charts

Spider-Man: No Way Home

<img alt="" class="hovernav-image lazyload" data-src="https://media.services.cinergy.ch/media/cinemanteaser239x142x2/973fe533df0a3917eaf74c67b3530d2158a5fe42.jpg" height="284" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAd4AAAEcCAQAAADDtx33AAACY0lEQVR42u3TAQkAAADCMO1f2hzCFuHwBrhUCcC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzgnkB8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAvmlQDMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLxgXgnAvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB8wLmBfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwL5pUAzAuYFzAvmBcwL2BeMC9gXsC8gHnBvIB5AfOCeQHzAuYFzAvmBcwLmBfMC5gXMC9gXng2QMcBHURzbLoAAAAASUVORK5CYII=" width="478"/>

Watchlist Charts

Fantastic Beasts: The Secrets of Dumbledore

<img alt="" class="hovernav-image lazyload" data-src="https://media.services.cinergy.ch/media/cinemanteaser239x142x2/191a2386c36dfe1a795183d5fd41643e8880a80e.jpg" height="284" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAd4AAAEcCAQAAADDtx33AAACY0lEQVR42u3TAQkAAADCMO1f2hzCFuHwBrhUCcC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzgnkB8wLmBcwL5gXMC5gXzAuYFzAvYF4wL2BewLxgXsC8gHkB84J5AfMC5gXzAuYFzAvmlQDMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL5gXMC9gXsC8YF7AvIB5wbyAeQHzAuYF8wLmBcwL5gXMC5gXMC+YFzAvYF4wL2BewLxgXgnAvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB8wLmBfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwLmBfMC5gXMC+YFzAvYF7AvGBewLyAecG8gHkB84J5AfMC5gXMC+YFzAuYF8wLmBcwL2BeMC9gXsC8YF7AvIB5AfOCeQHzAuYF8wLmBcwL5pUAzAuYFzAvmBcwL2BeMC9gXsC8gHnBvIB5AfOCeQHzAuYFzAvmBcwLmBfMC5gXMC9gXng2QMcBHURzbLoAAAAASUVORK5CYII=" width="478"/>

Watchlist Charts Soon

Top Gun: Maverick

Streaming

<form action="/en/finder/" class="navbar-form" method="get" role="search">

<button class="btn btn-transparent btn-circle btn-circle-small btn-search" type="submit"></button>
<input autocomplete="off" class="form-control form-control-search tt-hint" data-finder-url="/en/finder/?q=" data-label-pages="Pages" data-remote-prefetch="/en/page/searchPrefetch.json" data-remote-source="/search.php?q=%QUERY&l=en" data-translation-search-full="Show all results" dir="ltr" readonly="" spellcheck="false" style="position: absolute; top: 0px; left: 0px; border-color: transparent; box-shadow: none; opacity: 1; background: rgb(242, 242, 235) none repeat scroll 0% 0%;" tabindex="-1" type="text"/><input autocomplete="off" class="form-control form-control-search tt-input" data-finder-url="/en/finder/?q=" data-label-pages="Pages" data-remote-prefetch="/en/page/searchPrefetch.json" data-remote-source="/search.php?q=%QUERY&l=en" data-translation-search-full="Show all results" dir="auto" id="search" name="q" placeholder="Search" spellcheck="false" style="position: relative; vertical-align: top; background-color: transparent;" type="text"/>

</form>

My watchlist

My showtimes

Settings

Logout

Login & Signup

Buy tickets

Contests

<form action="/en/finder/" class="offcanvas-form" method="get" role="search">

<input class="form-control" name="q" placeholder="Suche" type="text"/>

</form>

Menu

Showtimes

Trailer

Movies

Streaming

News

Language

de |
                                    fr |
                                    en |

Cineman Social Media

Facebook

Twitter

More links

Imprint

AGB

<img height="0" id="anx_3576354691652008254639" src="https://fra1-ib.adnxs.com/it?an_audit=0&referrer=https%3A%2F%2Fwww.cineman.ch%2Fen%2Fshowtimes%2Ftime%2F&e=wqT_3QLBCuhBBQAAAwDWAAUBCL7K3pMGEK23rdu2q-S5Yhi2o5mZqNectw4qNgnarPpcbcVAQBHarPpcbcVAQBkAAAECCERAIREbACkRCfCqMQAAAOCjcD5AMKX5-AY4nR1AnR1IAlCNq8SqAViV-llgAGjKr3N4ktkFgAEBigEDVVNEkgEDQ0hGmAHiB6AB9AOoAQGwAQC4AQHAAQTIAQLQAQDYAQDgAQDwAQCKAll1ZignYScsIDUyOTkxMTEsIDE2NTIwMDgyNTQpO3VmKCdpJywgNzE3MTQ5OSwgMTY1MjAwODI1NCk7dWYoJ3InLCAzNTc2MzU0NjksMh8A9BcBkgL5AyFtbHhHZHdqSXo1UVpFSTJyeEtvQkdBQWdsZnBaTUFBNEFFQUVTSjBkVUtYNS1BWllBR0R1QW1nQWNBSjRBSUFCQW9nQkFKQUJBWmdCQWFBQkFhZ0JBN0FCQUxrQmNkcVVhWHVVUUVEQkFlMEZxRmx0eFVCQXlRRlBnNVAyenZycVA5a0JVV3VhZDV5aTd6X2dBYXZidFFQMUFRQUFBQUNZQWdDZ0FnQzFBZ0FBQUFDOUFnQUFBQURBQWdESUFnRFFBZ0xZQWdEZ0FnRG9BZ0Q0QWdDQUF3R1lBd0c2QXdsR1VrRXhPalE0TVRMZ0E2SXVnQVFBaUFRQWtBUUFtQVFCd1FRQUFBQUFBQUFBQU1rRUFBQQFhJEFBQURZQkFEeEIBCw0BKGlBWE1KYWtGVVd1DbAMLXhCUQ0dFEFBQXdRVQEHCQEITWtGCQkBAQREUi4oAAAyLigA8ENPQUZnTjNNQWZBRmxKYkNDUGdGcDdmREFvSUdBME5JUm9nR0FKQUdBWmdHQUtFR0ZLNUg0WHFVUUVDb0JnS3lCaVFKQQFjCQEAUgkHBQEAWgUGCQEAaAkHAQFAQzRCaHcumgKZASF5QlVRZEE6_QEoSlg2V1NBRUtBQXgZbYBBNkNVWlNRVEU2TkRneE1rQ2lMa2xSYTVwM25LTHZQMUUBWgkBBEZrCQgBAQBHHRgARx0YAEgdGBBIZ0FpUR0QNEEuLrICIGZkMDIxYjQ4AQbwyTA4N2ZmMWI5Y2Y3NmYwZDdhNjll2AL1mwHgAvuiL-oCKWh0dHBzOi8vd3d3LmNpbmVtYW4uY2gvZW4vc2hvd3RpbWVzL3RpbWUvgAMAiAMBkAMAmAMXoAMBqgMAwAOsAsgDANgD-vVU4AMA6AMA-AMBgAQAkgQGL3V0L3YzmAQBogQNODQuMjI3Ljc0LjEwOKgEALIEEAgAEAEY4gcg9AMoADAAOAK4BADABADIBADSBA4zNzQxI0ZSQTE6NDgxMtoEAggB4AQB8ASFFCCIBQGYBQCgBf8RARQBwAUAyQWBXxwAAPA_0gUJCQkMcAAA2AUB4AUB8AUB-gUECAAQAJAGAJgGALgGAMEGCSMo8D_QBtsO2gYWChAJERkBXBAAGADgBgHyBgIIAIAHAYgHAKAHAboHDwFISBgAIAAwADjiBEAAyAeS2QXSBw0VdAE4CNoHBgknROAHAOoHAggA8AfE-gyKCAIQAA..&s=7cd48b9c0fc37c13f73d5023fff7406d25cc693b" style="display: none;" width="0"/>

By cinema

By movie

By time

By time

By cinema

By movie

By time

Showtimes by time

Please choose a region.

<form action="">
<select class="select-region form-control selectized" data-btntitle="Select a region" data-cancel="Abort" data-clear="Reset" data-livesearchplaceholder="Select a region" data-noneselectedtext="Select a region" data-options="regionSelector.options" data-save="save" data-search="Search" data-selected="regions selected" data-title="Select a region" data-triggeron="#changeRegionButton" multiple="multiple" placeholder="Select a region" style="display: none;" tabindex="-1"><option selected="selected" value="0"></option></select>

Zürich×
<input autocomplete="off" style="width: 4px; opacity: 1; position: relative; left: 0px;" tabindex="" type="text"/>

Genève – 33 cinemas

Bern – 29 cinemas

Basel – 21 cinemas

Lausanne – 19 cinemas

Winterthur – 15 cinemas

Solothurn – 13 cinemas

Luzern – 11 cinemas

Locarno – 9 cinemas

Neuchâtel – 8 cinemas

Yverdon – 8 cinemas

Baden – 7 cinemas

Fribourg – 7 cinemas

Biel/Bienne – 6 cinemas

La Chaux-de-Fonds – 6 cinemas

Lugano – 6 cinemas

Nyon – 5 cinemas

Olten – 5 cinemas

Schaffhausen – 5 cinemas

St. Gallen – 5 cinemas

Aarau – 4 cinemas

Delémont – 4 cinemas

Thun – 4 cinemas

Wetzikon – 4 cinemas

Brugg – 3 cinemas

Chur – 3 cinemas

Langenthal – 3 cinemas

Liestal – 3 cinemas

Mendrisio – 3 cinemas

Monthey – 3 cinemas

Vevey – 3 cinemas

Aigle – 2 cinemas

Allschwil – 2 cinemas

Bellinzona – 2 cinemas

Burgdorf – 2 cinemas

Bülach – 2 cinemas

Davos – 2 cinemas

Einsiedeln – 2 cinemas

Engelberg – 2 cinemas

Frauenfeld – 2 cinemas

Glarus – 2 cinemas

Grenchen – 2 cinemas

Hinterkappelen – 2 cinemas

Ilanz – 2 cinemas

Interlaken – 2 cinemas

Lenzburg – 2 cinemas

Leysin – 2 cinemas

Martigny – 2 cinemas

Meyrin – 2 cinemas

Montreux – 2 cinemas

Neuhausen – 2 cinemas

Payerne – 2 cinemas

Porrentruy – 2 cinemas

Prilly – 2 cinemas

Pully – 2 cinemas

Rapperswil – 2 cinemas

Rorschach – 2 cinemas

Sarnen – 2 cinemas

Schöftland – 2 cinemas

Sierre – 2 cinemas

Spiez – 2 cinemas

Thalwil – 2 cinemas

Walkringen – 2 cinemas

Zug – 2 cinemas

Aarberg – 1 cinemas

Abtwil SG – 1 cinemas

Acquarossa – 1 cinemas

Adelboden – 1 cinemas

Affoltern am Albis – 1 cinemas

Airolo – 1 cinemas

Altdorf UR – 1 cinemas

Amriswil – 1 cinemas

Arbon – 1 cinemas

Arlesheim – 1 cinemas

Arosa – 1 cinemas

Ascona – 1 cinemas

Aubonne – 1 cinemas

Baar – 1 cinemas

Baar ZG – 1 cinemas

Belp – 1 cinemas

Bex – 1 cinemas

Braunwald – 1 cinemas

Brienz BE – 1 cinemas

Brig – 1 cinemas

Brissago – 1 cinemas

Bulle – 1 cinemas

Buochs – 1 cinemas

Bussigny-Lausanne – 1 cinemas

Bévilard – 1 cinemas

Carrouge – 1 cinemas

Chavannes-Renens – 1 cinemas

Chexbres – 1 cinemas

Chiasso – 1 cinemas

Château-d'Oex – 1 cinemas

Châtel-St-Denis – 1 cinemas

Chêne-Bougeries – 1 cinemas

Collonge-Bellerive – 1 cinemas

Cossonay-Ville – 1 cinemas

Couvet – 1 cinemas

Crans-Montana – 1 cinemas

Dietikon – 1 cinemas

Dietlikon – 1 cinemas

Disentis/Mustér – 1 cinemas

Dübendorf – 1 cinemas

Düdingen – 1 cinemas

Ebikon – 1 cinemas

Echallens – 1 cinemas

Effretikon – 1 cinemas

Emmenbrücke – 1 cinemas

Ennetbürgen – 1 cinemas

Ettiswil – 1 cinemas

Flims – 1 cinemas

Frick – 1 cinemas

Fällanden – 1 cinemas

Gelterkinden – 1 cinemas

Giubiasco – 1 cinemas

Gland – 1 cinemas

Gstaad – 1 cinemas

Heerbrugg – 1 cinemas

Heiden – 1 cinemas

Herisau – 1 cinemas

Herzogenbuchsee – 1 cinemas

Huttwil – 1 cinemas

Ins – 1 cinemas

Jona – 1 cinemas

Klosters – 1 cinemas

Kloten – 1 cinemas

Konolfingen – 1 cinemas

Kriens – 1 cinemas

La Neuveville – 1 cinemas

La Sarraz – 1 cinemas

La Tour-de-Peilz – 1 cinemas

Langnau BE – 1 cinemas

Laupen BE – 1 cinemas

Le Locle – 1 cinemas

Le Noirmont – 1 cinemas

Le Sentier – 1 cinemas

Lenk – 1 cinemas

Les Breuleux – 1 cinemas

Leukerbad – 1 cinemas

Liebefeld – 1 cinemas

Lyss – 1 cinemas

Massagno – 1 cinemas

Meiringen – 1 cinemas

Morges – 1 cinemas

Moutier – 1 cinemas

Muotathal – 1 cinemas

Murgenthal – 1 cinemas

Muri AG – 1 cinemas

Muri BE – 1 cinemas

Murten – 1 cinemas

Männedorf – 1 cinemas

Netstal – 1 cinemas

Näfels – 1 cinemas

Obbürgen – 1 cinemas

Oensingen – 1 cinemas

Oftringen – 1 cinemas

Orbe – 1 cinemas

Oron-la-Ville – 1 cinemas

Petit-Lancy – 1 cinemas

Pfäffikon ZH – 1 cinemas

Pontresina – 1 cinemas

Reinach AG – 1 cinemas

Riehen – 1 cinemas

Romanshorn – 1 cinemas

Rorbas-Freienstein – 1 cinemas

Saas Fee – 1 cinemas

Sargans – 1 cinemas

Schaan – 1 cinemas

Schwarzenburg – 1 cinemas

Schwyz – 1 cinemas

Scuol – 1 cinemas

Signau – 1 cinemas

Sins – 1 cinemas

Sion – 1 cinemas

Sissach – 1 cinemas

Spreitenbach – 1 cinemas

St-Imier – 1 cinemas

St. Moritz – 1 cinemas

St. Niklausen LU – 1 cinemas

Stans – 1 cinemas

Ste-Croix – 1 cinemas

Stein am Rhein – 1 cinemas

Sumiswald – 1 cinemas

Tavannes – 1 cinemas

Thusis – 1 cinemas

Tramelan – 1 cinemas

Tschlin – 1 cinemas

Uster – 1 cinemas

Uznach – 1 cinemas

Uzwil – 1 cinemas

Verbier – 1 cinemas

Versoix – 1 cinemas

Villars-sur-Ollon – 1 cinemas

Visp – 1 cinemas

Volketswil – 1 cinemas

Wattwil – 1 cinemas

Weinfelden – 1 cinemas

Wengen – 1 cinemas

Werdenberg – 1 cinemas

Wettingen – 1 cinemas

Wil – 1 cinemas

Wil SG – 1 cinemas

Willisau – 1 cinemas

Wohlen AG – 1 cinemas

Worb – 1 cinemas

Wädenswil – 1 cinemas

Yverdon-Les-Bains – 1 cinemas

Zermatt – 1 cinemas

Zuoz – 1 cinemas

</form>

Please wait

Reset

Today

Monday

Tuesday

Wednesday

Thursday

Friday

Saturday

Today

Mo

Tu

We

Th

Fr

Sa

Show more filters

<form class="form showtimes-filter-form-advanced" method="get">

Genre

<select class="select-genre selectized" multiple="multiple" name="genres[]" placeholder="All genres" style="display: none;" tabindex="-1"></select>

<input autocomplete="off" placeholder="All genres" style="width: 63px;" tabindex="" type="text"/>

Language

<select class="select-genre selectized" multiple="multiple" name="spoken[]" placeholder="All languages" style="display: none;" tabindex="-1"></select>

<input autocomplete="off" placeholder="All languages" style="width: 84px;" tabindex="" type="text"/>

Projection

<input name="3d" type="hidden" value=""/>

<input name="3d" type="checkbox" value="none"/> No 3D

Reset

<input name="date" type="hidden" value=""/>
<button class="btn btn-block btn-green select-filter-save" type="submit">Refresh</button>

</form>

<img height="0" id="anx_3555483291652008254626" src="https://fra1-ib.adnxs.com/it?an_audit=0&referrer=https%3A%2F%2Fwww.cineman.ch%2Fen%2Fshowtimes%2Ftime%2F&e=wqT_3QLBCvBDQQUAAAMA1gAFAQi-yt6TBhCFkNXcnIe74BwYtqOZmajXnLcOKjYJiYBDqFIjKkARiYBDqFIjKkAZAAAA4FE4NUAhiYAJGwApESTwqjEAAACAFC4qQDCl-fgGOJ0dQJ0dSAJQqfnEqQFYlfpZYABoyq9zeJLZBYABAYoBA1VTRJIBA0NIRpgBrAKgAfoBqAEBsAEAuAEBwAEEyAEC0AEA2AEA4AEA8AEAigJZdWYoJ2EnLCA1NDk3NDE5LCAxNjUyMDA4MjU0KTt1ZignaScsIDcxMjg4ODksIDE2NTIwMDgyNTQpO3VmKCdyJywgMzU1NTQ4MzI5LDIfAPQXAZIC-QMhUUZoWWVRaU1sSTRaRUtuNXhLa0JHQUFnbGZwWk1BQTRBRUFFU0owZFVLWDUtQVpZQUdEdUFtZ0FjQUI0QUlBQkFJZ0JBSkFCQVpnQkFhQUJBYWdCQTdBQkFMa0JROHpkRVF2WEtVREJBWC1sM2dkVEl5cEF5UUUwN3pmSWFBMEFRTmtCVVd1YWQ1eWk3el9nQWJtT3N3UDFBUUFBQUFDWUFnQ2dBZ0MxQWdBQUFBQzlBZ0FBQUFEQUFnRElBZ0RRQWdEWUFnRGdBZ0RvQWdENEFnQ0FBd0dZQXdHNkF3bEdVa0V4T2pRNE1UTGdBNkl1Z0FRQWlBUUFrQVFBbUFRQndRUUFBQUFBQUFBQUFNa0VBQUEBYSRBQUFEWUJBRHhCAQsNAShpQVhNSmFrRlVXdQ2wDC14QlENHRRBQUF3UVUBBwkBCE1rRgkJAQEERFIuKAAAMi4oAPBDT0FGay1KUDhBV2hnTHdJLUFYTHhNOENnZ1lEUTBoR2lBWUFrQVlCbUFZQW9RYlhvM0E5Q3RjcFFLZ0dBcklHSkFrQUEBYwEBBEJFAQYJAQRCawkIAQEAQx0YQExnR0hBLi6aApkBIXJSWGJhPv0B0EpYNldTQUVLQUF4MTZOd1BRclhLVUE2Q1VaU1FURTZORGd4TWtDaUxrbFJhNXAzbktMdlAxHWEARh15AEcdGABHHRgASB0YEEhnQWlRHRA0QS4usgIgZmQwMjFiNDgBBvDJMDg3ZmYxYjljZjc2ZjBkN2E2OWXYAvWbAeAC-6Iv6gIpaHR0cHM6Ly93d3cuY2luZW1hbi5jaC9lbi9zaG93dGltZXMvdGltZS-AAwCIAwGQAwCYAxegAwGqAwDAA6wCyAMA2AP69VTgAwDoAwD4AwGABACSBAYvdXQvdjOYBAGiBA04NC4yMjcuNzQuMTA4qAQAsgQQCAAQARisAiD6ASgAMAA4ArgEAMAEAMgEANIEDjM3NDEjRlJBMTo0ODEy2gQCCAHgBAHwBIUUIIgFAZgFAKAF_xEBGAHABQDJBQAFARTwP9IFCQkFC3QAAADYBQHgBQHwBQH6BQQIABAAkAYAmAYAuAYAwQYBHzAAAPA_0AbbDtoGFgoQCREZAVwQABgA4AYB8gYCCACABwGIBwCgBwG6Bw8BSEgYACAAMAA44gRAAMgHktkF0gcNFXQBOAjaBwYJJ0TgBwDqBwIIAPAHxPoMiggCEAA.&s=d552cd29f39c01a5c32ae71b700045cf2e944ada" style="display: none;" width="0"/>

Nothing interesting in the cinema?

Watch Live TV now on Teleboy.

<video class="jw-video jw-reset" disableremoteplayback="" playsinline="" tabindex="-1" webkit-playsinline=""></video>

<video playsinline="true" src="https://gcdn.2mdn.net/videoplayback/id/1303e7e4667f5546/itag/343/source/doubleclick_dmm/ctier/L/acao/yes/ip/0.0.0.0/ipbits/0/expire/3791262330/sparams/id,itag,source,ctier,acao,ip,ipbits,expire/signature/23CB192F52D50FD67C029B2CDBC21F31C69505E7.18529ACA386D936438EBD51A434A21EF0AE15783/key/ck2/file/file.mp4?cpn=Hf6bwADVC-BJLMbH" style="background-color: rgb(0, 0, 0); position: absolute; width: 100%; height: 100%; left: 0px; top: 0px;" title="Advertisement" webkit-playsinline="true"></video>

<video playsinline="true" style="background-color: rgb(0, 0, 0); position: absolute; width: 100%; height: 100%; left: 0px; top: 0px;" title="Advertisement" webkit-playsinline="true"></video>

0 seconds of 0 secondsVolume 0%

<svg class="jw-svg-icon jw-svg-icon-close" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M134.8,120l48.6-48.6c2-1.9,2.1-5.2,0.2-7.2c0,0-0.1-0.1-0.2-0.2l-7.4-7.4c-1.9-2-5.2-2.1-7.2-0.2c0,0-0.1,0.1-0.2,0.2L120,105.2L71.4,56.6c-1.9-2-5.2-2.1-7.2-0.2c0,0-0.1,0.1-0.2,0.2L56.6,64c-2,1.9-2.1,5.2-0.2,7.2c0,0,0.1,0.1,0.2,0.2l48.6,48.7l-48.6,48.6c-2,1.9-2.1,5.2-0.2,7.2c0,0,0.1,0.1,0.2,0.2l7.4,7.4c1.9,2,5.2,2.1,7.2,0.2c0,0,0.1-0.1,0.2-0.2l48.7-48.6l48.6,48.6c1.9,2,5.2,2.1,7.2,0.2c0,0,0.1-0.1,0.2-0.2l7.4-7.4c2-1.9,2.1-5.2,0.2-7.2c0,0-0.1-0.1-0.2-0.2L134.8,120z"></path></svg>
Press shift question mark to access a list of keyboard shortcuts

Keyboard Shortcuts<button aria-label="Keyboard Shortcuts" class="jw-reset jw-switch" role="switch">EnabledDisabled</button>

Play/PauseSPACE

Increase Volume↑

Decrease Volume↓

Seek Forward→

Seek Backward←

Captions On/Offc

Fullscreen/Exit Fullscreenf

Mute/Unmutem

Seek %0-9

<svg class="jw-svg-icon jw-svg-icon-rewind" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M113.2,131.078a21.589,21.589,0,0,0-17.7-10.6,21.589,21.589,0,0,0-17.7,10.6,44.769,44.769,0,0,0,0,46.3,21.589,21.589,0,0,0,17.7,10.6,21.589,21.589,0,0,0,17.7-10.6,44.769,44.769,0,0,0,0-46.3Zm-17.7,47.2c-7.8,0-14.4-11-14.4-24.1s6.6-24.1,14.4-24.1,14.4,11,14.4,24.1S103.4,178.278,95.5,178.278Zm-43.4,9.7v-51l-4.8,4.8-6.8-6.8,13-13a4.8,4.8,0,0,1,8.2,3.4v62.7l-9.6-.1Zm162-130.2v125.3a4.867,4.867,0,0,1-4.8,4.8H146.6v-19.3h48.2v-96.4H79.1v19.3c0,5.3-3.6,7.2-8,4.3l-41.8-27.9a6.013,6.013,0,0,1-2.7-8,5.887,5.887,0,0,1,2.7-2.7l41.8-27.9c4.4-2.9,8-1,8,4.3v19.3H209.2A4.974,4.974,0,0,1,214.1,57.778Z"></path></svg>

<svg class="jw-svg-icon jw-svg-icon-buffer" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M120,186.667a66.667,66.667,0,0,1,0-133.333V40a80,80,0,1,0,80,80H186.667A66.846,66.846,0,0,1,120,186.667Z"></path></svg><svg class="jw-svg-icon jw-svg-icon-replay" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M120,41.9v-20c0-5-4-8-8-4l-44,28a5.865,5.865,0,0,0-3.3,7.6A5.943,5.943,0,0,0,68,56.8l43,29c5,4,9,1,9-4v-20a60,60,0,1,1-60,60H40a80,80,0,1,0,80-79.9Z"></path></svg><svg class="jw-svg-icon jw-svg-icon-play" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M62.8,199.5c-1,0.8-2.4,0.6-3.3-0.4c-0.4-0.5-0.6-1.1-0.5-1.8V42.6c-0.2-1.3,0.7-2.4,1.9-2.6c0.7-0.1,1.3,0.1,1.9,0.4l154.7,77.7c2.1,1.1,2.1,2.8,0,3.8L62.8,199.5z"></path></svg><svg class="jw-svg-icon jw-svg-icon-pause" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M100,194.9c0.2,2.6-1.8,4.8-4.4,5c-0.2,0-0.4,0-0.6,0H65c-2.6,0.2-4.8-1.8-5-4.4c0-0.2,0-0.4,0-0.6V45c-0.2-2.6,1.8-4.8,4.4-5c0.2,0,0.4,0,0.6,0h30c2.6-0.2,4.8,1.8,5,4.4c0,0.2,0,0.4,0,0.6V194.9z M180,45.1c0.2-2.6-1.8-4.8-4.4-5c-0.2,0-0.4,0-0.6,0h-30c-2.6-0.2-4.8,1.8-5,4.4c0,0.2,0,0.4,0,0.6V195c-0.2,2.6,1.8,4.8,4.4,5c0.2,0,0.4,0,0.6,0h30c2.6,0.2,4.8-1.8,5-4.4c0-0.2,0-0.4,0-0.6V45.1z"></path></svg>

<svg class="jw-svg-icon jw-svg-icon-next" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M165,60v53.3L59.2,42.8C56.9,41.3,55,42.3,55,45v150c0,2.7,1.9,3.8,4.2,2.2L165,126.6v53.3h20v-120L165,60L165,60z"></path></svg>

<button aria-label="Close" class="jw-icon jw-nextup-close jw-reset" type="button"><svg class="jw-svg-icon jw-svg-icon-close" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M134.8,120l48.6-48.6c2-1.9,2.1-5.2,0.2-7.2c0,0-0.1-0.1-0.2-0.2l-7.4-7.4c-1.9-2-5.2-2.1-7.2-0.2c0,0-0.1,0.1-0.2,0.2L120,105.2L71.4,56.6c-1.9-2-5.2-2.1-7.2-0.2c0,0-0.1,0.1-0.2,0.2L56.6,64c-2,1.9-2.1,5.2-0.2,7.2c0,0,0.1,0.1,0.2,0.2l48.6,48.7l-48.6,48.6c-2,1.9-2.1,5.2-0.2,7.2c0,0,0.1,0.1,0.2,0.2l7.4,7.4c1.9,2,5.2,2.1,7.2,0.2c0,0,0.1-0.1,0.2-0.2l48.7-48.6l48.6,48.6c1.9,2,5.2,2.1,7.2,0.2c0,0,0.1-0.1,0.2-0.2l7.4-7.4c2-1.9,2.1-5.2,0.2-7.2c0,0-0.1-0.1-0.2-0.2L134.8,120z"></path></svg></button>

<svg class="jw-svg-icon jw-svg-icon-close" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M134.8,120l48.6-48.6c2-1.9,2.1-5.2,0.2-7.2c0,0-0.1-0.1-0.2-0.2l-7.4-7.4c-1.9-2-5.2-2.1-7.2-0.2c0,0-0.1,0.1-0.2,0.2L120,105.2L71.4,56.6c-1.9-2-5.2-2.1-7.2-0.2c0,0-0.1,0.1-0.2,0.2L56.6,64c-2,1.9-2.1,5.2-0.2,7.2c0,0,0.1,0.1,0.2,0.2l48.6,48.7l-48.6,48.6c-2,1.9-2.1,5.2-0.2,7.2c0,0,0.1,0.1,0.2,0.2l7.4,7.4c1.9,2,5.2,2.1,7.2,0.2c0,0,0.1-0.1,0.2-0.2l48.7-48.6l48.6,48.6c1.9,2,5.2,2.1,7.2,0.2c0,0,0.1-0.1,0.2-0.2l7.4-7.4c2-1.9,2.1-5.2,0.2-7.2c0,0-0.1-0.1-0.2-0.2L134.8,120z"></path></svg>

<svg class="jw-svg-icon jw-svg-icon-play" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M62.8,199.5c-1,0.8-2.4,0.6-3.3-0.4c-0.4-0.5-0.6-1.1-0.5-1.8V42.6c-0.2-1.3,0.7-2.4,1.9-2.6c0.7-0.1,1.3,0.1,1.9,0.4l154.7,77.7c2.1,1.1,2.1,2.8,0,3.8L62.8,199.5z"></path></svg><svg class="jw-svg-icon jw-svg-icon-pause" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M100,194.9c0.2,2.6-1.8,4.8-4.4,5c-0.2,0-0.4,0-0.6,0H65c-2.6,0.2-4.8-1.8-5-4.4c0-0.2,0-0.4,0-0.6V45c-0.2-2.6,1.8-4.8,4.4-5c0.2,0,0.4,0,0.6,0h30c2.6-0.2,4.8,1.8,5,4.4c0,0.2,0,0.4,0,0.6V194.9z M180,45.1c0.2-2.6-1.8-4.8-4.4-5c-0.2,0-0.4,0-0.6,0h-30c-2.6-0.2-4.8,1.8-5,4.4c0,0.2,0,0.4,0,0.6V195c-0.2,2.6,1.8,4.8,4.4,5c0.2,0,0.4,0,0.6,0h30c2.6,0.2,4.8-1.8,5-4.4c0-0.2,0-0.4,0-0.6V45.1z"></path></svg><svg class="jw-svg-icon jw-svg-icon-stop" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M190,185c0.2,2.6-1.8,4.8-4.4,5c-0.2,0-0.4,0-0.6,0H55c-2.6,0.2-4.8-1.8-5-4.4c0-0.2,0-0.4,0-0.6V55c-0.2-2.6,1.8-4.8,4.4-5c0.2,0,0.4,0,0.6,0h130c2.6-0.2,4.8,1.8,5,4.4c0,0.2,0,0.4,0,0.6V185z"></path></svg>

<svg class="jw-svg-icon jw-svg-icon-rewind" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M113.2,131.078a21.589,21.589,0,0,0-17.7-10.6,21.589,21.589,0,0,0-17.7,10.6,44.769,44.769,0,0,0,0,46.3,21.589,21.589,0,0,0,17.7,10.6,21.589,21.589,0,0,0,17.7-10.6,44.769,44.769,0,0,0,0-46.3Zm-17.7,47.2c-7.8,0-14.4-11-14.4-24.1s6.6-24.1,14.4-24.1,14.4,11,14.4,24.1S103.4,178.278,95.5,178.278Zm-43.4,9.7v-51l-4.8,4.8-6.8-6.8,13-13a4.8,4.8,0,0,1,8.2,3.4v62.7l-9.6-.1Zm162-130.2v125.3a4.867,4.867,0,0,1-4.8,4.8H146.6v-19.3h48.2v-96.4H79.1v19.3c0,5.3-3.6,7.2-8,4.3l-41.8-27.9a6.013,6.013,0,0,1-2.7-8,5.887,5.887,0,0,1,2.7-2.7l41.8-27.9c4.4-2.9,8-1,8,4.3v19.3H209.2A4.974,4.974,0,0,1,214.1,57.778Z"></path></svg>

<svg class="jw-svg-icon jw-svg-icon-next" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M165,60v53.3L59.2,42.8C56.9,41.3,55,42.3,55,45v150c0,2.7,1.9,3.8,4.2,2.2L165,126.6v53.3h20v-120L165,60L165,60z"></path></svg>

<svg class="jw-svg-icon jw-svg-icon-volume-0" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M116.4,42.8v154.5c0,2.8-1.7,3.6-3.8,1.7l-54.1-48.1H28.9c-2.8,0-5.2-2.3-5.2-5.2V94.2c0-2.8,2.3-5.2,5.2-5.2h29.6l54.1-48.1C114.6,39.1,116.4,39.9,116.4,42.8z M212.3,96.4l-14.6-14.6l-23.6,23.6l-23.6-23.6l-14.6,14.6l23.6,23.6l-23.6,23.6l14.6,14.6l23.6-23.6l23.6,23.6l14.6-14.6L188.7,120L212.3,96.4z"></path></svg><svg class="jw-svg-icon jw-svg-icon-volume-50" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M116.4,42.8v154.5c0,2.8-1.7,3.6-3.8,1.7l-54.1-48.1H28.9c-2.8,0-5.2-2.3-5.2-5.2V94.2c0-2.8,2.3-5.2,5.2-5.2h29.6l54.1-48.1C114.7,39.1,116.4,39.9,116.4,42.8z M178.2,120c0-22.7-18.5-41.2-41.2-41.2v20.6c11.4,0,20.6,9.2,20.6,20.6c0,11.4-9.2,20.6-20.6,20.6v20.6C159.8,161.2,178.2,142.7,178.2,120z"></path></svg><svg class="jw-svg-icon jw-svg-icon-volume-100" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M116.5,42.8v154.4c0,2.8-1.7,3.6-3.8,1.7l-54.1-48H29c-2.8,0-5.2-2.3-5.2-5.2V94.3c0-2.8,2.3-5.2,5.2-5.2h29.6l54.1-48C114.8,39.2,116.5,39.9,116.5,42.8z"></path><path d="M136.2,160v-20c11.1,0,20-8.9,20-20s-8.9-20-20-20V80c22.1,0,40,17.9,40,40S158.3,160,136.2,160z"></path><path d="M216.2,120c0-44.2-35.8-80-80-80v20c33.1,0,60,26.9,60,60s-26.9,60-60,60v20C180.4,199.9,216.1,164.1,216.2,120z"></path></svg>

<svg class="jw-svg-icon jw-svg-icon-fullscreen-off" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M109.2,134.9l-8.4,50.1c-0.4,2.7-2.4,3.3-4.4,1.4L82,172l-27.9,27.9l-14.2-14.2l27.9-27.9l-14.4-14.4c-1.9-1.9-1.3-3.9,1.4-4.4l50.1-8.4c1.8-0.5,3.6,0.6,4.1,2.4C109.4,133.7,109.4,134.3,109.2,134.9L109.2,134.9z M172.1,82.1L200,54.2L185.8,40l-27.9,27.9l-14.4-14.4c-1.9-1.9-3.9-1.3-4.4,1.4l-8.4,50.1c-0.5,1.8,0.6,3.6,2.4,4.1c0.5,0.2,1.2,0.2,1.7,0l50.1-8.4c2.7-0.4,3.3-2.4,1.4-4.4L172.1,82.1z"></path></svg><svg class="jw-svg-icon jw-svg-icon-fullscreen-on" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M96.3,186.1c1.9,1.9,1.3,4-1.4,4.4l-50.6,8.4c-1.8,0.5-3.7-0.6-4.2-2.4c-0.2-0.6-0.2-1.2,0-1.7l8.4-50.6c0.4-2.7,2.4-3.4,4.4-1.4l14.5,14.5l28.2-28.2l14.3,14.3l-28.2,28.2L96.3,186.1z M195.8,39.1l-50.6,8.4c-2.7,0.4-3.4,2.4-1.4,4.4l14.5,14.5l-28.2,28.2l14.3,14.3l28.2-28.2l14.5,14.5c1.9,1.9,4,1.3,4.4-1.4l8.4-50.6c0.5-1.8-0.6-3.6-2.4-4.2C197,39,196.4,39,195.8,39.1L195.8,39.1z"></path></svg>

Loading ad
Live

00:00

00:00

00:00

<svg class="jw-svg-icon jw-svg-icon-cc-on" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M215,40H25c-2.7,0-5,2.2-5,5v150c0,2.7,2.2,5,5,5h190c2.7,0,5-2.2,5-5V45C220,42.2,217.8,40,215,40z M108.1,137.7c0.7-0.7,1.5-1.5,2.4-2.3l6.6,7.8c-2.2,2.4-5,4.4-8,5.8c-8,3.5-17.3,2.4-24.3-2.9c-3.9-3.6-5.9-8.7-5.5-14v-25.6c0-2.7,0.5-5.3,1.5-7.8c0.9-2.2,2.4-4.3,4.2-5.9c5.7-4.5,13.2-6.2,20.3-4.6c3.3,0.5,6.3,2,8.7,4.3c1.3,1.3,2.5,2.6,3.5,4.2l-7.1,6.9c-2.4-3.7-6.5-5.9-10.9-5.9c-2.4-0.2-4.8,0.7-6.6,2.3c-1.7,1.7-2.5,4.1-2.4,6.5v25.6C90.4,141.7,102,143.5,108.1,137.7z M152.9,137.7c0.7-0.7,1.5-1.5,2.4-2.3l6.6,7.8c-2.2,2.4-5,4.4-8,5.8c-8,3.5-17.3,2.4-24.3-2.9c-3.9-3.6-5.9-8.7-5.5-14v-25.6c0-2.7,0.5-5.3,1.5-7.8c0.9-2.2,2.4-4.3,4.2-5.9c5.7-4.5,13.2-6.2,20.3-4.6c3.3,0.5,6.3,2,8.7,4.3c1.3,1.3,2.5,2.6,3.5,4.2l-7.1,6.9c-2.4-3.7-6.5-5.9-10.9-5.9c-2.4-0.2-4.8,0.7-6.6,2.3c-1.7,1.7-2.5,4.1-2.4,6.5v25.6C135.2,141.7,146.8,143.5,152.9,137.7z"></path></svg><svg class="jw-svg-icon jw-svg-icon-cc-off" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M99.4,97.8c-2.4-0.2-4.8,0.7-6.6,2.3c-1.7,1.7-2.5,4.1-2.4,6.5v25.6c0,9.6,11.6,11.4,17.7,5.5c0.7-0.7,1.5-1.5,2.4-2.3l6.6,7.8c-2.2,2.4-5,4.4-8,5.8c-8,3.5-17.3,2.4-24.3-2.9c-3.9-3.6-5.9-8.7-5.5-14v-25.6c0-2.7,0.5-5.3,1.5-7.8c0.9-2.2,2.4-4.3,4.2-5.9c5.7-4.5,13.2-6.2,20.3-4.6c3.3,0.5,6.3,2,8.7,4.3c1.3,1.3,2.5,2.6,3.5,4.2l-7.1,6.9C107.9,100,103.8,97.8,99.4,97.8z M144.1,97.8c-2.4-0.2-4.8,0.7-6.6,2.3c-1.7,1.7-2.5,4.1-2.4,6.5v25.6c0,9.6,11.6,11.4,17.7,5.5c0.7-0.7,1.5-1.5,2.4-2.3l6.6,7.8c-2.2,2.4-5,4.4-8,5.8c-8,3.5-17.3,2.4-24.3-2.9c-3.9-3.6-5.9-8.7-5.5-14v-25.6c0-2.7,0.5-5.3,1.5-7.8c0.9-2.2,2.4-4.3,4.2-5.9c5.7-4.5,13.2-6.2,20.3-4.6c3.3,0.5,6.3,2,8.7,4.3c1.3,1.3,2.5,2.6,3.5,4.2l-7.1,6.9C152.6,100,148.5,97.8,144.1,97.8L144.1,97.8z M200,60v120H40V60H200 M215,40H25c-2.7,0-5,2.2-5,5v150c0,2.7,2.2,5,5,5h190c2.7,0,5-2.2,5-5V45C220,42.2,217.8,40,215,40z"></path></svg>

<svg class="jw-svg-icon jw-svg-icon-settings" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M204,145l-25-14c0.8-3.6,1.2-7.3,1-11c0.2-3.7-0.2-7.4-1-11l25-14c2.2-1.6,3.1-4.5,2-7l-16-26c-1.2-2.1-3.8-2.9-6-2l-25,14c-6-4.2-12.3-7.9-19-11V35c0.2-2.6-1.8-4.8-4.4-5c-0.2,0-0.4,0-0.6,0h-30c-2.6-0.2-4.8,1.8-5,4.4c0,0.2,0,0.4,0,0.6v28c-6.7,3.1-13,6.7-19,11L56,60c-2.2-0.9-4.8-0.1-6,2L35,88c-1.6,2.2-1.3,5.3,0.9,6.9c0,0,0.1,0,0.1,0.1l25,14c-0.8,3.6-1.2,7.3-1,11c-0.2,3.7,0.2,7.4,1,11l-25,14c-2.2,1.6-3.1,4.5-2,7l16,26c1.2,2.1,3.8,2.9,6,2l25-14c5.7,4.6,12.2,8.3,19,11v28c-0.2,2.6,1.8,4.8,4.4,5c0.2,0,0.4,0,0.6,0h30c2.6,0.2,4.8-1.8,5-4.4c0-0.2,0-0.4,0-0.6v-28c7-2.3,13.5-6,19-11l25,14c2.5,1.3,5.6,0.4,7-2l15-26C206.7,149.4,206,146.7,204,145z M120,149.9c-16.5,0-30-13.4-30-30s13.4-30,30-30s30,13.4,30,30c0.3,16.3-12.6,29.7-28.9,30C120.7,149.9,120.4,149.9,120,149.9z"></path></svg>

<svg class="jw-svg-icon jw-svg-icon-fullscreen-off" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M109.2,134.9l-8.4,50.1c-0.4,2.7-2.4,3.3-4.4,1.4L82,172l-27.9,27.9l-14.2-14.2l27.9-27.9l-14.4-14.4c-1.9-1.9-1.3-3.9,1.4-4.4l50.1-8.4c1.8-0.5,3.6,0.6,4.1,2.4C109.4,133.7,109.4,134.3,109.2,134.9L109.2,134.9z M172.1,82.1L200,54.2L185.8,40l-27.9,27.9l-14.4-14.4c-1.9-1.9-3.9-1.3-4.4,1.4l-8.4,50.1c-0.5,1.8,0.6,3.6,2.4,4.1c0.5,0.2,1.2,0.2,1.7,0l50.1-8.4c2.7-0.4,3.3-2.4,1.4-4.4L172.1,82.1z"></path></svg><svg class="jw-svg-icon jw-svg-icon-fullscreen-on" focusable="false" viewbox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"><path d="M96.3,186.1c1.9,1.9,1.3,4-1.4,4.4l-50.6,8.4c-1.8,0.5-3.7-0.6-4.2-2.4c-0.2-0.6-0.2-1.2,0-1.7l8.4-50.6c0.4-2.7,2.4-3.4,4.4-1.4l14.5,14.5l28.2-28.2l14.3,14.3l-28.2,28.2L96.3,186.1z M195.8,39.1l-50.6,8.4c-2.7,0.4-3.4,2.4-1.4,4.4l14.5,14.5l-28.2,28.2l14.3,14.3l28.2-28.2l14.5,14.5c1.9,1.9,4,1.3,4.4-1.4l8.4-50.6c0.5-1.8-0.6-3.6-2.4-4.2C197,39,196.4,39,195.8,39.1L195.8,39.1z"></path></svg>

            Promotion

<img alt="" class="ls-is-cached lazyloaded" data-src="https://media.services.cinergy.ch/media/cinemanteaser140x84/7818ad0910d1fd9748ed249153f5fa47bdbb4035.jpg" data-srcset="https://media.services.cinergy.ch/media/cinemanteaser368x220x2/7818ad0910d1fd9748ed249153f5fa47bdbb4035.jpg 736w,
	https://media.services.cinergy.ch/media/cinemanteaser300x180x2/7818ad0910d1fd9748ed249153f5fa47bdbb4035.jpg 600w,
	https://media.services.cinergy.ch/media/cinemanteaser368x220/7818ad0910d1fd9748ed249153f5fa47bdbb4035.jpg 368w,
	https://media.services.cinergy.ch/media/cinemanteaser300x180/7818ad0910d1fd9748ed249153f5fa47bdbb4035.jpg 300w" sizes="(min-width: 768px) 364px,
	(min-width: 1004px) 308px,
	(min-width: 1200px) 368px,
	50vw" src="https://media.services.cinergy.ch/media/cinemanteaser140x84/7818ad0910d1fd9748ed249153f5fa47bdbb4035.jpg" srcset="https://media.services.cinergy.ch/media/cinemanteaser368x220x2/7818ad0910d1fd9748ed249153f5fa47bdbb4035.jpg 736w,
	https://media.services.cinergy.ch/media/cinemanteaser300x180x2/7818ad0910d1fd9748ed249153f5fa47bdbb4035.jpg 600w,
	https://media.services.cinergy.ch/media/cinemanteaser368x220/7818ad0910d1fd9748ed249153f5fa47bdbb4035.jpg 368w,
	https://media.services.cinergy.ch/media/cinemanteaser300x180/7818ad0910d1fd9748ed249153f5fa47bdbb4035.jpg 300w"/>

<img alt="" class="lazyload" data-src="https://media.services.cinergy.ch/media/cinemanteaser140x84/db82bd935a2e38ccee5c6a2c7db5eb67d6cb9c33.jpg" data-srcset="https://media.services.cinergy.ch/media/cinemanteaser368x220x2/db82bd935a2e38ccee5c6a2c7db5eb67d6cb9c33.jpg 736w,
	https://media.services.cinergy.ch/media/cinemanteaser300x180x2/db82bd935a2e38ccee5c6a2c7db5eb67d6cb9c33.jpg 600w,
	https://media.services.cinergy.ch/media/cinemanteaser368x220/db82bd935a2e38ccee5c6a2c7db5eb67d6cb9c33.jpg 368w,
	https://media.services.cinergy.ch/media/cinemanteaser300x180/db82bd935a2e38ccee5c6a2c7db5eb67d6cb9c33.jpg 300w" sizes="(min-width: 768px) 364px,
	(min-width: 1004px) 308px,
	(min-width: 1200px) 368px,
	50vw" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/>

Showtimes

By cinema

By movie

By time

Film festivals

Openair movie guide

Trailer

Currently in the cinema

Soon in cinema

New trailers

Popular trailers

Movies

Films currently in the cinema

Films new in the cinema

Films in the cinema soon

Reviews

Movie Charts

Movie archive

Films on TV

Buy tickets

Ticket shop

Buy voucher

News

Overview

News

Reviews

Community & Charts

Watchlist Charts

Contests

Cineman

About us

FAQ

Contact

Advertisement

Vacancies

B2B Newsletter

<picture>
<source media="(min-width: 768px)" srcset="/assets_cache/1ab9ae430dd74aade06d5a0209a9a041.png"/>
<source srcset="/assets_cache/65a1c4fcfebee25fa19c52adc911ad6a.png"/>

</picture>
Cineman is a service of Cinergy Ltd

<picture>
<source media="(min-width: 768px)" srcset="/assets_cache/e2a3ca1402a09461391d2c23e7166e06.png"/>
<source srcset="/assets_cache/b58b54fb547d009e763f63e5fa26994a.png"/>

</picture>

<picture>
<source media="(min-width: 768px)" srcset="/assets_cache/9114e47ea2679f2deb1d8ee09f8bc0c8.png"/>
<source srcset="/assets_cache/91b016ad5a78fe556803f6be5e63ed07.png"/>

</picture>

Cineman is a service of Cinergy Ltd

All statements without guarantee

© Cinergy AG

Imprint

AGB

Privacy Policy

All statements without guarantee

Facebook

Twitter

Newsletter

<img height="0" id="anx_3537729941652008254633" src="https://fra1-ib.adnxs.com/it?an_audit=0&referrer=https%3A%2F%2Fwww.cineman.ch%2Fen%2Fshowtimes%2Ftime%2F&e=wqT_3QLfCvBDXwUAAAMA1gAFAQi-yt6TBhCs5ZOU5ZOqjRkYtqOZmajXnLcOKjYJ5US7CimvKkAR5US7CimvKkAZAAAAoHC9NEAh5UQJGwApESTwsDEAAACA61EkQDCl-fgGOJ0dQJ0dSAJQwsvYqAFYlfpZYABoyq9zeJLZBYABAYoBA1VTRJIBA0NIRpgB9AOgAegHqAEBsAEAuAEBwAEEyAEC0AEA2AEA4AEA8AEAigJ3dWYoJ2EnLCA1MTQ0NzY5LCAxNjUyMDA4MjU0KTt1ZignaScsIDcwOTEzMjYsIDE2NTIwMDgyNTQpO3VmKCdnJywgMTc2NzcxNzcsIDE2NTIwMBk7MHInLCAzNTM3NzI5OTQ2WgD0FwGSAvkDIVlGcjcyZ2ptNVlnWkVNTEwyS2dCR0FBZ2xmcFpNQUE0QUVBRVNKMGRVS1g1LUFaWUFHRHVBbWdBY0FKNEFJQUJBb2dCQUpBQkFaZ0JBYUFCQWFnQkE3QUJBTGtCRkJieWhraGhLa0RCQVpwamhKUW9yeXBBeVFGbFZ6VS15WTNuUDlrQlVXdWFkNXlpN3pfZ0FmN29zQVAxQVFBQUFBQ1lBZ0NnQWdDMUFnQUFBQUM5QWdBQUFBREFBZ0xJQWdEUUFnTFlBZ0RnQWdEb0FnRDRBZ0NBQXdHWUF3RzZBd2xHVWtFeE9qUTRNVExnQTZJdWdBUUFpQVFBa0FRQW1BUUJ3UVFBQUFBQUFBQUFBTWtFQUFBAWEkQUFBRFlCQUR4QgELDQEoaUFYTUpha0ZVV3UNsAwteEJRDR0UQUFBd1FVAQcJAQhNa0YJCQEBBERSLigAADIuKADwQ09BRnc3ZFI4QVg1OXJZSS1BWEJnYm9DZ2dZRFEwaEdpQVlBa0FZQm1BWUFvUWJoZWhTdVIyRXFRS2dHQXJJR0pBa0FBAWMBAQRCRQEGCQEEQmsJCAEBAEMdGERMZ0dIQS4umgKZASFEaGI4bHc6_QHQSlg2V1NBRUtBQXg0WG9VcmtkaEtrQTZDVVpTUVRFNk5EZ3hNa0NpTGtsUmE1cDNuS0x2UDEdYQBGHXkARx0YAEcdGABIHRgQSGdBaVEdEDRBLi6yAiBmZDAyMWI0OAEG8MkwODdmZjFiOWNmNzZmMGQ3YTY5ZdgC9ZsB4AL7oi_qAilodHRwczovL3d3dy5jaW5lbWFuLmNoL2VuL3Nob3d0aW1lcy90aW1lL4ADAIgDAZADAJgDF6ADAaoDAMADrALIAwDYA_r1VOADAOgDAPgDAYAEAJIEBi91dC92M5gEAaIEDTg0LjIyNy43NC4xMDioBACyBBAIABABGKABINgEKAAwADgCuAQAwAQAyAQA0gQOMzc0MSNGUkExOjQ4MTLaBAIIAeAEAfAEhTIgiAUBmAUAoAX_EQEYAcAFAMkFAAUBFPA_0gUJCQULdAAAANgFAeAFAfAFAfoFBAgAEACQBgCYBgC4BgDBBgEfMAAA8D_QBtsO2gYWChAJERkBXBAAGADgBgHyBgIIAIAHAYgHAKAHAboHDwFISBgAIAAwADjiBEAAyAeS2QXSBw0VdAE4CNoHBgknROAHAOoHAggA8AfE-gyKCAIQAA..&s=c687447dcb1842b01cef96a406a07e4af8b7908f" style="display: none;" width="0"/>

<iframe class="rel_iframe" height="100%" id="rel_iframe" scrolling="no" src="https://media.theindustry.digital/creative/2022/migros/2204_nature_living/fr/video_sitebar_loop.html?clicktag=https%3A%2F%2Fadclick.g.doubleclick.net%2Fpcs%2Fclick%3Fxai%3DAKAOjstd6gSqzpYNwfXQeTLGJHz-t-ITAlv3A_76ajNigflOHuXaieqDRGcodTGd8lWRFdBy-prhpf_vbpop5LNGHzOI2OKt7ySwktlwqs1B2TEXj4UndRTwwpySAs71seiokg%26sig%3DCg0ArKJSzCAtaYcgdCkGEAE%26cry%3D1%26fbs_aeid%3D%5Bgw_fbsaeid%5D%26urlfix%3D1%26adurl%3Dhttps%3A%2F%2Ffra1-ib.adnxs.com%2Fclick%253F5US7CimvKkDlRLsKKa8qQAAAAKBwvTRA5US7CimvKkDlRLsKKa8qQKzyhFKeqBoZtlEmg7pybg4-pXdiAAAAAKU83gCdDgAAnQ4AAAIAAADCJRYVFX0WAAAAAABVU0QAQ0hGAPQB6APK1wAAAAABAQQCAAAAALgA0iJn1AAAAAA.%2Fbcr%253DAAAAAAAA8D8%253D%2Fcnd%253D%252521Dhb8lwjm5YgZEMLL2KgBGJX6WSAEKAAx4XoUrkdhKkA6CUZSQTE6NDgxMkCiLklRa5p3nKLvP1EAAAAAAAAAAFkAAAAAAAAAAGEAAAAAAAAAAGkAAAAAAAAAAHEAAAAAAAAAAHgAiQEAAAAAAAAAAA..%2Fcca%253DMzc0MSNGUkExOjQ4MTI%253D%2Fbn%253D93330%2Fclickenc%253Dhttps%3A%2F%2Fad.doubleclick.net%2Fddm%2Ftrackclk%2FN513201.1901140GOLDBACHAUDIENCE%2FB27523122.334127002%25253Bdc_trk_aid%25253D525809810%25253Bdc_trk_cid%25253D170066505%25253Bdc_lat%25253D%25253Bdc_rdid%25253D%25253Btag_for_child_directed_treatment%25253D%25253Btfua%25253D%25253Bltd%25253D&clicktag2=&clicktag3=&clicktag4=&clicktag5=&clicktag6=&clicktag7=" style="border:none;" width="100%">

### Extracting Movie Showtimes_____no_output_____

def format_cineman_content(content):
    """
    This function takes in content scraped from cineman.ch with BeautifulSoup and creates a dataframe from it.

    Required arguments:
    - content: html contents scraped from cineman.ch

    Returns:
    - movie_program_df: pandas dataframe containing the scraped data
    """
    movies = content.findAll("div", {"class": "col-xs-12 col-sm-9"})

    # Now create the data frame
    # Initialize the lists to store the details for each movie screening
    movies_list = []
    genres_list = []
    cinemas_list = []
    places_list = []
    age_limits = []
    all_showtimes_lists = []
    all_languages_lists = []

    for movie in movies:
        # Movie title
        title = movie.find("h4").get_text()
        movies_list.append(title)

        # Movie genre
        genre = movie.find("p").get_text()
        genres_list.append(genre)

        # Cinemas and place
        cinemas = movie.findAll("h5")
        cinema_names = []
        places = []

        for cinema in cinemas:
            cinema_name = cinema.find("em").get_text()
            cinema_names.append(cinema_name)
            place = cinema.findAll("a")[1].get_text()
            places.append(place)

        cinemas_list.append(cinema_names)
        places_list.append(places)

        # Age limit
        age_links = movie.findAll("a", {"class": "link"})
        age_limit = age_links[-1].get_text()
        if age_limit == "Reservation":
            age_limit = age_links[-2].get_text()
        if age_limit.find("Y.") == -1:
            age_limits.append("unknown")
        else:
            age_limits.append(age_limit)

        # Showtimes and languages
        showtimes_list_div = movie.find("div", {"class": "showtimes-list"})
        showtimes_string = showtimes_list_div.prettify().split("h5")
        showtimes_list = []
        languages_list = []

        for string in showtimes_string:
            strings = re.sub('<[^<]+?>\n', '', string).split(" ")
            showtimes = []
            languages = []

            for s in strings:
                s = s.strip("<></–)")
                s = re.sub("\t", "", s)
                s = s.strip()

                if is_time_format(s):
                    showtimes.append(s)

                elif (s.find("/") != -1 and s.find("Y.") == -1) or s in ["G", "F", "O", "I", "E"]:
                    languages.append(s)

            if showtimes:
                showtimes_list.append(showtimes)
            if languages:
                languages_list.append(languages)

        if showtimes_list:
            all_showtimes_lists.append(showtimes_list)
        if languages_list:
            all_languages_lists.append(languages_list)

    # Initializing the dictionary to store the lists
    all_info_dict = dict()

    all_info_dict["movie"] = movies_list
    all_info_dict["genre"] = genres_list
    all_info_dict["age_limit"] = age_limits
    all_info_dict["language"] = all_languages_lists
    all_info_dict["showtime"] = all_showtimes_lists
    all_info_dict["date"] = f'{date.today()}'
    all_info_dict["cinema"] = cinemas_list
    all_info_dict["place"] = places_list

    movie_program_df = pd.DataFrame(all_info_dict).explode(["cinema", "showtime", "place", "language"]).explode(
        ["showtime", "language"]).reset_index(drop=True)
    movie_program_df["dt_showtime"] = movie_program_df["date"] + " " + movie_program_df["showtime"]
    movie_program_df["dt_showtime"] = pd.to_datetime(movie_program_df["dt_showtime"], format= '%Y-%m-%d %H:%M')
    movie_program_df["cinema_place"] = [f'{c} {p}' for c, p in zip(movie_program_df["cinema"], movie_program_df["place"])]

    return movie_program_df
_____no_output_____movie_program_df = format_cineman_content(content)
movie_program_df[0:10]_____no_output_____

## Mapping Theatres to Coordinates Dict_____no_output_____

def add_theatre_coordinates(showtimes_df):
    """
    This function takes in a DataFrame with information on movies playing in Zurich.
    It then maps the movie theatres to a dictionary with their coordinates.
    It returns the same DataFrame with two additional columns for longitude and latitude.

    Required arguments:
    - showtimes_df, a pandas DataFrame

    Returns:
    - showtimes_df, the same DataFrame with two additional columns.

    """

    theatre_loc = {
       "Arena Cinemas Zürich":{"latitude": 47.3584227, "longitude": 8.5226872},
       "Arthouse Le Paris Zürich":{"latitude": 47.3664352, "longitude": 8.5474694},
       "Arthouse Uto Zürich":{"latitude": 47.3741858, "longitude": 8.5213039},
       "Arthouse Piccadilly Zürich":{"latitude": 47.365993, "longitude": 8.5489046},
       "Arthouse Movie Zürich":{"latitude": 47.3707036, "longitude": 8.5437007},
       "Arthouse Alba Zürich":{"latitude": 47.3761085, "longitude": 8.5446582},
       "blue Cinema Abaton Zürich":{"latitude": 47.3892435, "longitude": 8.5213589},
       "blue Cinema Capitol Zürich":{"latitude": 47.3778376, "longitude": 8.5441343},
       "blue Cinema Corso Zürich":{"latitude": 47.3663426, "longitude": 8.546734},
       "blue Cinema Metropol Zürich":{"latitude": 47.3737637, "longitude": 8.5307381},
       "Filmpodium Zürich":{"latitude": 47.3715739, "longitude": 8.5368247},
       "Houdini Zürich":{"latitude": 47.3746074, "longitude": 8.5203069},
       "Kosmos Zürich":{"latitude": 47.3799807, "longitude": 8.5290807},
       "Riffraff Zürich":{"latitude": 47.3827835, "longitude": 8.5290454},
       "Stüssihof Zürich":{"latitude": 47.3723239, "longitude": 8.5437701},
       "Xenix Zürich":{"latitude": 47.3752853, "longitude": 8.5261529}
          }

    showtimes_df[["latitude", "longitude"]] = pd.json_normalize(showtimes_df["cinema_place"].map(theatre_loc))

    return showtimes_df_____no_output_____cineman_df = add_theatre_coordinates(movie_program_df)
cineman_df_____no_output_____

## Location Data - Google API_____no_output_____

def get_theatre_coordinates(showtimes_df, google_credentials_path):
    """
    This function takes in a dataframe with the names of movie theatres and the path to the credentials for the google api.
    It then requests the coordinates for the movie theatres via the api and stores them in a dataframe.

    Required arguments:
    - showtimes_df: pandas dataframe containing a column with movie theatre names and places
    - google_credentials_path: string, gives the path to the file with the google api credentials

    Returns:
    - showtimes_df: pandas dataframe that was given as an input, but with the coordinates added in for each theatre
    """
    # Getting location data from the Google API
    key_json = json.load(open(google_credentials_path))
    gmaps_key = key_json["key"]

    url = "https://maps.googleapis.com/maps/api/place/textsearch/json?"
    api_key = gmaps_key

    latitudes_list = []
    longitudes_list = []

    for theatre in showtimes_df["cinema_place"].unique():
        # text string on which to search
        query = theatre

        # get method of requests module, return response object
        req = requests.get(url + "query=" + query + "&key=" + api_key)

        # json method of response object: json format data -> python format data
        places_json = req.json()

        # now result contains list of nested dictionaries
        my_result = places_json["results"]

        # take a look at the first element
        latitude = my_result[0]["geometry"]["location"]["lat"]
        latitudes_list.append(latitude)

        longitude = my_result[0]["geometry"]["location"]["lng"]
        longitudes_list.append(longitude)

    theatre_location_dict = dict()
    theatre_location_dict["cinema_place"] = showtimes_df["cinema_place"].unique()
    theatre_location_dict["latitude"] = latitudes_list
    theatre_location_dict["longitude"] = longitudes_list

    theatre_locations_df = pd.DataFrame(theatre_location_dict)
    showtimes_df = pd.merge(showtimes_df, theatre_locations_df, how="left")

    return showtimes_df_____no_output_____google_credentials_path = "../../../Propulsion/DS_course_082021/google_api/credentials.json"
showtimes_df = get_theatre_coordinates(movie_program_df, google_credentials_path)
showtimes_df.head()_____no_output_____showtimes_df.to_csv(f"../data/raw/{date.today()}_showtimes.csv")_____no_output_____