Regal Cinema Ticketing

Workflow capability for discovering movies, finding nearby Regal theatres, checking showtimes, and purchasing tickets with Regal Crown Club loyalty integration. Designed for mobile apps, concierge services, and entertainment recommendation platforms.

Run with Naftiko CinemaMoviesTicketingShowtimesLoyaltyEntertainment

What You Can Do

GET
List movies — List currently playing and upcoming movies
/v1/movies
GET
Get movie — Get details for a specific movie
/v1/movies/{movieId}
GET
List theatres — List theatres with optional proximity search
/v1/theatres
GET
Get theatre — Get details for a specific theatre
/v1/theatres/{theatreId}
GET
List showtimes — List showtimes by movie, theatre, or date
/v1/showtimes
POST
Purchase tickets — Purchase tickets for a showtime
/v1/tickets
GET
Get ticket order — Get details for a ticket order
/v1/tickets/{orderId}
GET
Get loyalty member — Get loyalty member details and credit balance
/v1/loyalty/members/{memberId}
POST
Add loyalty credits — Add loyalty credits to a member account
/v1/loyalty/members/{memberId}/credits

MCP Tools

list-movies

Browse movies currently playing and upcoming at Regal cinemas

read-only
get-movie

Get full details for a specific movie including cast, runtime, and rating

read-only
find-nearby-theatres

Find Regal theatre locations near a geographic coordinate or by state

read-only
get-theatre

Get details for a specific Regal theatre including amenities and screen count

read-only
list-showtimes

Look up showtimes for a movie at a theatre on a given date

read-only
purchase-tickets

Purchase tickets for a showtime and optionally earn Regal Crown Club credits

get-ticket-order

Retrieve a ticket order with barcodes and confirmation code

read-only
get-loyalty-member

Get Regal Crown Club member status, tier, and credit balance

read-only
add-loyalty-credits

Award Regal Crown Club credits to a member after a qualifying purchase

APIs Used

regal-cinema

Capability Spec

Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "Regal Cinema Ticketing"
  description: >-
    Workflow capability for discovering movies, finding nearby Regal theatres,
    checking showtimes, and purchasing tickets with Regal Crown Club loyalty
    integration. Designed for mobile apps, concierge services, and entertainment
    recommendation platforms.
  tags:
    - Cinema
    - Movies
    - Ticketing
    - Showtimes
    - Loyalty
    - Entertainment
  created: "2026-05-02"
  modified: "2026-05-02"

binds:
  - namespace: env
    keys:
      REGAL_API_KEY: REGAL_API_KEY

capability:
  consumes:
    - import: regal-cinema
      location: ./shared/regal-cinema.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: regal-ticketing-api
      description: "Unified REST API for Regal cinema discovery, showtimes, and ticketing."
      resources:
        - path: /v1/movies
          name: movies
          description: Browse movies now playing and coming soon
          operations:
            - method: GET
              name: list-movies
              description: List currently playing and upcoming movies
              call: "regal-cinema.list-movies"
              with:
                status: "rest.status"
                limit: "rest.limit"
                offset: "rest.offset"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/movies/{movieId}
          name: movie-detail
          description: Movie details
          operations:
            - method: GET
              name: get-movie
              description: Get details for a specific movie
              call: "regal-cinema.get-movie"
              with:
                movieId: "rest.movieId"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/theatres
          name: theatres
          description: Locate nearby Regal theatres
          operations:
            - method: GET
              name: list-theatres
              description: List theatres with optional proximity search
              call: "regal-cinema.list-theatres"
              with:
                state: "rest.state"
                lat: "rest.lat"
                lng: "rest.lng"
                radius: "rest.radius"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/theatres/{theatreId}
          name: theatre-detail
          description: Theatre details
          operations:
            - method: GET
              name: get-theatre
              description: Get details for a specific theatre
              call: "regal-cinema.get-theatre"
              with:
                theatreId: "rest.theatreId"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/showtimes
          name: showtimes
          description: Showtime schedules
          operations:
            - method: GET
              name: list-showtimes
              description: List showtimes by movie, theatre, or date
              call: "regal-cinema.list-showtimes"
              with:
                movieId: "rest.movieId"
                theatreId: "rest.theatreId"
                date: "rest.date"
                format: "rest.format"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/tickets
          name: tickets
          description: Ticket purchasing
          operations:
            - method: POST
              name: purchase-tickets
              description: Purchase tickets for a showtime
              call: "regal-cinema.purchase-tickets"
              with:
                showtimeId: "rest.showtimeId"
                tickets: "rest.tickets"
                loyaltyMemberId: "rest.loyaltyMemberId"
                paymentToken: "rest.paymentToken"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/tickets/{orderId}
          name: ticket-order
          description: Ticket order details
          operations:
            - method: GET
              name: get-ticket-order
              description: Get details for a ticket order
              call: "regal-cinema.get-ticket-order"
              with:
                orderId: "rest.orderId"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/loyalty/members/{memberId}
          name: loyalty-member
          description: Loyalty member profile
          operations:
            - method: GET
              name: get-loyalty-member
              description: Get loyalty member details and credit balance
              call: "regal-cinema.get-loyalty-member"
              with:
                memberId: "rest.memberId"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/loyalty/members/{memberId}/credits
          name: loyalty-credits
          description: Loyalty credit management
          operations:
            - method: POST
              name: add-loyalty-credits
              description: Add loyalty credits to a member account
              call: "regal-cinema.add-loyalty-credits"
              with:
                memberId: "rest.memberId"
                credits: "rest.credits"
                reason: "rest.reason"
                orderId: "rest.orderId"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9090
      namespace: regal-ticketing-mcp
      transport: http
      description: "MCP server for AI-assisted cinema discovery, showtime lookup, and ticket purchasing."
      tools:
        - name: list-movies
          description: Browse movies currently playing and upcoming at Regal cinemas
          hints:
            readOnly: true
            openWorld: true
          call: "regal-cinema.list-movies"
          with:
            status: "tools.status"
            limit: "tools.limit"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-movie
          description: Get full details for a specific movie including cast, runtime, and rating
          hints:
            readOnly: true
          call: "regal-cinema.get-movie"
          with:
            movieId: "tools.movieId"
          outputParameters:
            - type: object
              mapping: "$."
        - name: find-nearby-theatres
          description: Find Regal theatre locations near a geographic coordinate or by state
          hints:
            readOnly: true
            openWorld: true
          call: "regal-cinema.list-theatres"
          with:
            lat: "tools.lat"
            lng: "tools.lng"
            radius: "tools.radius"
            state: "tools.state"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-theatre
          description: Get details for a specific Regal theatre including amenities and screen count
          hints:
            readOnly: true
          call: "regal-cinema.get-theatre"
          with:
            theatreId: "tools.theatreId"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-showtimes
          description: Look up showtimes for a movie at a theatre on a given date
          hints:
            readOnly: true
          call: "regal-cinema.list-showtimes"
          with:
            movieId: "tools.movieId"
            theatreId: "tools.theatreId"
            date: "tools.date"
            format: "tools.format"
          outputParameters:
            - type: object
              mapping: "$."
        - name: purchase-tickets
          description: Purchase tickets for a showtime and optionally earn Regal Crown Club credits
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "regal-cinema.purchase-tickets"
          with:
            showtimeId: "tools.showtimeId"
            tickets: "tools.tickets"
            loyaltyMemberId: "tools.loyaltyMemberId"
            paymentToken: "tools.paymentToken"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-ticket-order
          description: Retrieve a ticket order with barcodes and confirmation code
          hints:
            readOnly: true
          call: "regal-cinema.get-ticket-order"
          with:
            orderId: "tools.orderId"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-loyalty-member
          description: Get Regal Crown Club member status, tier, and credit balance
          hints:
            readOnly: true
          call: "regal-cinema.get-loyalty-member"
          with:
            memberId: "tools.memberId"
          outputParameters:
            - type: object
              mapping: "$."
        - name: add-loyalty-credits
          description: Award Regal Crown Club credits to a member after a qualifying purchase
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "regal-cinema.add-loyalty-credits"
          with:
            memberId: "tools.memberId"
            credits: "tools.credits"
            reason: "tools.reason"
            orderId: "tools.orderId"
          outputParameters:
            - type: object
              mapping: "$."