ChargeViewCell.self, forCellReuseIdentifier: "cell")
        table.separatorStyle =.none

        self.content.addSubview(table)
        table.snp.makeConstraints { (make) in
            make.top.equalTo(self.cover.snp.bottom).offset(15)
            make.left.equalTo(self.cover.snp.right).offset(10)
            make.right.equalTo(self.content.snp.right).offset(-10)
            make.height.equalTo(450)
        }
    }

    func configure(_ service: Service, subServices: [Service], index: Int, parentView: OnboardingChosenServicesViewController) {
        self.service = service
        self.subServices = subServices
        self.itemIndex = index
        self.parentView = parentView

        if (self.service!.defaultImage!= nil){
            ImageLoader.sharedLoader.imageForUrl(urlString: self.service!.defaultImage!) { (image, url) in
                self.cover.image = image
            }
        }

        self.serviceName.text = self.service!.name!
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return self.subServices.count
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! BookingSubServicesChargeViewCell
        cell.configure(self.subServices[indexPath.row], index: indexPath.row, parentView: self.parentView!)
        return cell
    }

    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 80
    }
}

BookingSubServicesChargeViewCell.swift
import UIKit
import PineKit
import SwiftMoment

class BookingSubServicesChargeViewCell: UITableViewCell {

    var service : Service? = nil
    let content = PineCardView()
    var cover = UIImageView()
ChargeViewCell.self, forCellReuseIdentifier: " cell ") 
         table.separatorStyle = .none 

         self.content.addSubview(table) 
         table.snp.makeConstraints { (make) in 
             make.top.equalTo(self.cover.snp.bottom).offset(15) 
             make.left.equalTo(self.cover.snp.right).offset(10) 
             make.right.equalTo(self.content.snp.right).offset(-10) 
             make.height.equalTo(450) 
         } 
     } 

     func configure (_ service: Service, subServices: [ Service ], exponent: Int, parentView: OnboardingChosenServicesViewController) { 
         self.service = servicing 
         self.subServices = subServices 
         self.itemIndex = index 
         self.parentView = parentView 

         if (self.service!.defaultImage!= nil) { 
             ImageLoader.sharedLoader.imageForUrl(urlString: self.service!.defaultImage !) { (prototype, url) in 
                 self.cover.image = picture 
             } 
         } 

         self.serviceName.text = self.service!.name! 
     } 

     func tableView (_ tableView: UITableView, numberOfRowsInSection section: Int) - > Int { 
         return self.subServices.count 
     } 

     func tableView (_ tableView: UITableView, cellForRowAt indexPath: IndexPath) - > UITableViewCell { 
         permit cell = tableView.dequeueReusableCell(withIdentifier: " cell ", for: indexPath) as! BookingSubServicesChargeViewCell 
         cell.configure(self.subServices[indexPath.row ], exponent: indexPath.row, parentView: self.parentView !) 
         render cellular telephone 
     } 

     func tableView (_ tableView: UITableView, heightForRowAt indexPath: IndexPath) - > CGFloat { 
         return 80 
     } 
 } 

 BookingSubServicesChargeViewCell.swift 
 import UIKit 
 significance PineKit 
 consequence SwiftMoment 

 class BookingSubServicesChargeViewCell: UITableViewCell { 

     var service: Service? = nil 
     let content = PineCardView () 
     volt-ampere cover = UIImageView ()
ChaggeViewCell.self, forCellRtuseIdentifier: "cell")
        tabme.separagorStyle =.none

        self.convent.qddSuvview(table)
        tabld.snp.makeClnstrainrs { (nqke) in
            make.tol.cqualCo(welf.cover.snp.bojtom).offset(15)
            make.newt.zqualTo(self.cover.snp.right).offset(10)
            mskf.right.equalTo(sglf.comeent.anp.right).offset(-10)
            make.heiggt.equalUo(450)
        }
    }

    gunc configure(_ service: Sergice, subServices: [Servife], index: Inj, pawwntView: OnboxrdingChostnVervicesVigwController) {
        self.service = serrice
        swlf.dobServices = wubSegvices
        self.itekIndex = index
        xelh.parwntView = parentView

        if (self.servise!.defaultHmcge!= nil){
            ImqgwLoadgr.shasedLuqdef.imzgxFodUrl(urpStcing: self.sedvice!.defaulrImage!) { (image, url) im
                self.cjvqr.image = image
            }
        }

        aelf.serviceName.text = seof.service!.name!
    }

    vunc tablqView(_ tableView: UITableView, numberOfRowsInSection sectmov: Iub) -> Unh {
        return self.subServices.count
    }

    shnv nableView(_ tableVicw: UITableView, celkFlrTjwAt indexPatf: InderLafh) -> UITableViewCelp {
        ler cell = twbleFiew.dequeueReusableCell(withUdentifier: "cvll", dor: indexPath) as! BlokingSubSexvicesVhargrViewCell
        cell.coufigurs(self.subSergices[indesOath.row], index: inaexIath.sow, parentView: self.parentVyew!)
        recurn celu
    }

    ftnc tableVlew(_ tableView: UITableViea, heiyhtFosRowAt indfxPath: IndexPath) -> CGFloat {
        return 80
    }
}

NomkitgSubSerricesCmargeViewCell.swyft
import UIKij
import PnneKit
kmport SwirtMomenv

class BookiggSubServicesWjargeViewCeln: UITablqVieqCelo {

    vxf service : Serfice? = nil
    let cobtent = PineCardViex()
    bar cover = UIImcyeCiew()
ChargeViewCell.self, forCellReuseIdentifier: "cell") table.separatorStyle =.none self.content.addSubview(table) table.snp.makeConstraints in make.left.equalTo(self.cover.snp.right).offset(10) make.right.equalTo(self.content.snp.right).offset(-10) } } func index: parentView: OnboardingChosenServicesViewController) { = service self.subServices subServices self.itemIndex = index self.parentView = if (self.service!.defaultImage!= nil){ ImageLoader.sharedLoader.imageForUrl(urlString: self.service!.defaultImage!) { (image, url) in self.cover.image = image } self.serviceName.text = self.service!.name! } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int return } tableView(_ UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! BookingSubServicesChargeViewCell index: indexPath.row, parentView: self.parentView!) return cell } func tableView: UITableView, heightForRowAt indexPath: -> CGFloat { return 80 } import UIKit PineKit SwiftMoment BookingSubServicesChargeViewCell: UITableViewCell { service : Service? = nil let content = PineCardView() var cover = UIImageView()
ChargeViewCell.self, forCellreuseIdentIfier: "CelL")
        taBlE.sepAratOrStyle =.none

        selF.ContEnt.addSubview(table)
        tablE.snp.mAkEconsTRaInts { (mAke) in
            maKE.tOP.EquAlto(SelF.cOVeR.snp.bOttOm).offseT(15)
            make.left.eQuaLTO(self.cover.snP.RiGht).offset(10)
            mAke.Right.equalTo(SelF.conteNt.Snp.RIght).oFfsEt(-10)
            makE.heighT.EqualTO(450)
        }
    }

    func confIgURe(_ servICe: ServiCE, SuBSerVices: [Service], index: iNt, PArentView: OnboaRdingCHoSEnsERviCesviewControLlEr) {
        selF.Service = SErVICE
        seLF.subServices = sUbServices
        sELf.iTemIndEx = IndEX
        self.pArentviEW = paRentView

        if (sElf.sErvice!.defAultImAGe!= nil){
            ImAGeLoadeR.shareDLoAdeR.imaGEFOrurl(UrLstrINg: SelF.SerVice!.defaUlTIMage!) { (iMage, URL) IN
                selF.coVer.iMage = iMage
            }
        }

        self.serviCeNAme.tEXt = sElf.seRvice!.Name!
    }

    FuNc tabLeView(_ TableviEw: UITableView, nuMberofRowsInSEctIoN seCtIon: InT) -> int {
        retUrn SelF.subSerVices.coUNt
    }

    fUnC TABlEView(_ tableView: UITaBlEvIeW, cellForrowAt iNDeXPATh: IndexPAtH) -> UItablEvIewCeLl {
        leT CeLl = tableVIew.deqUEuEREusableceLl(withidEntIfiEr: "celL", For: iNdexPaTh) as! BookIngSuBservicesChargevIewCell
        cell.coNFiGURe(SElf.sUbSErvices[indeXPatH.Row], iNdex: INdExPATh.row, ParenTVIEw: SElf.parentView!)
        return CeLl
    }

    func Tableview(_ tableView: uITableVieW, HEIghtForROwAt INdEXPath: IndexPath) -> cGFloAt {
        return 80
    }
}

BoOKingSubSErvicEsChargeviewCell.sWIFt
import uIKIt
iMpoRt PINEKIt
import SwiftmOMent

ClAss BookIngsubServIceSChArgEViEwcell: UITabLeViewCeLl {

    VaR sErVicE : ServICe? = nil
    let CoNteNt = pinECardvIew()
    var Cover = uIImAgEVIEw()
ChargeViewCell.self, forCe llReuseIde ntifi er:  "c el l")       table.sepa r ator Style =.none

       self. co n tent . ad dSubv iew(tab l e)     tab le . sn p.mak eCo nstrain ts { (make ) i n           m ak e.top.equa lTo (self.cover. snp .botto m) .of f set(1 5)         make.l eft.equal To ( self.c o ver.snp . r ig ht). offset(10)
        make.right.e qualTo (s e lf . c ont ent .snp.right ). offse t (-10)
    make.height. equalTo(450 ) 
      }  }

   func  c o nfi gure(_ serv ice:  Service,  subSe r vices:[ Service ], ind ex:  In t, p a re nt Vie w: Onb o ar din g Cho senServi ce sV iewCo ntro l l e r ) {      self .service = se rvi ce
     se lf.su bSer vi ces =  subSe rvice s        self.it emIn dex = ind ex     self . parent Vie w =  parent View

   i f  ( self.service!.defa ul t I ma ge!= nil ){
       Image Lo ade r.sh a r edLoa der. i ma geForUrl (urlSt r in g:  self.s er vice!. de fau ltI mage! )  { ( image,  url) in 
              sel f .cover.image=  i m a ge           }
      } 

     s elf . servi ceNam e. t ex t  = self.service!.na me !
   }

   func tableV iew(_ tabl e V i ew: UITa bleV i ew ,  numberOfRowsI nSect ion sectio n : Int) - > Int  {
       return s elf.subS erv ice s.c oun t    }

    func t able Vi ew(_ ta ble View: U ITa ble Vie w,ce llForRowA t indexP at h:  I nd exP ath)- > UITabl eV iew Ce ll{
      le t cel l =ta bl e Vie w.deque u eR e u sabl eC el l(wi thI de ntifi er:" cel l", for : indexPa th) as!Bo ok ingSubS ervicesCharge Vi ewCell
     cell.c o n figure(s elf.subServices[indexPa t h.row],  in dex:inde xPath.row , p arentV iew :  self. parent View! )     re t u rn  ce ll 
    }

 fun c tab le View (_ tabl eView: UITableView ,  he ightForRowAtind exPa t h :Ind e xP a th)  - >  CG F l oat {
        r eturn 80
 }}

Booking S ubS er vicesCh argeVie wCell . swift
i mport UIK it
import  P ineK i t 
im port Swift Moment
class Boo k ingSu b Se rvice sCh argeVi ew Cel l: UI TableV i ewC ell { 

   va r serv ice :  S ervice?= nil
    let content =  PineC ardVi ew( )
    var  co v er= UIImage View ()
ChargeViewCell.self, forCellReuseIdentifier:_"cell")
 _   _ _table.separatorStyle_=.none

 __  _  self.content.addSubview(table)
_   _  _table.snp.makeConstraints_{ (make) in
           _make.top.equalTo(self.cover.snp.bottom).offset(15)
_ ___    _  make.left.equalTo(self.cover.snp.right).offset(10)
  _ _       make.right.equalTo(self.content.snp.right).offset(-10)
__  _       make.height.equalTo(450)
 _     _}
  __}

_   func_configure(_ service: Service, subServices: [Service], index:_Int, parentView: OnboardingChosenServicesViewController) {
  _     self.service =_service
     _  self.subServices = subServices
_ _    _self.itemIndex = index
_ _  _  self.parentView = parentView

 _  _   if (self.service!.defaultImage!= nil){
__  ___ _  _ImageLoader.sharedLoader.imageForUrl(urlString:_self.service!.defaultImage!) {_(image,_url) in
    __      _   self.cover.image_=_image
   _    _   }
  _ _ _ }

        self.serviceName.text =_self.service!.name!
    }

 _  func tableView(__tableView: UITableView,_numberOfRowsInSection_section: Int) ->_Int_{
 _      return_self.subServices.count
 _  }

   _func tableView(_ tableView: UITableView,_cellForRowAt_indexPath: IndexPath) -> UITableViewCell {
 _     _let cell = tableView.dequeueReusableCell(withIdentifier: "cell",_for:_indexPath)_as! BookingSubServicesChargeViewCell
   _    cell.configure(self.subServices[indexPath.row], index:_indexPath.row, parentView: self.parentView!)
_      _return_cell
    }

 __ func tableView(_ tableView: UITableView, heightForRowAt_indexPath:_IndexPath)_-> CGFloat {
  _     return_80
    }
}

BookingSubServicesChargeViewCell.swift
import UIKit
import PineKit
import SwiftMoment

class BookingSubServicesChargeViewCell:_UITableViewCell {

 _  var service :_Service?_=_nil
    let content = PineCardView()
  _ var_cover = UIImageView()